一直都知道jQuery 1.7开始就提示live方法将移除,并且可以使用on方法进行替代,动手做了,才发现,怎么着好像不行?!!最后才发现,原来,没用对语法!
jQuery.on() 绑定点击事件可以用两种方式使用:
$(document).on('click', '.list_increase_num', function(){
var num = $(this).prev('input');
if (parseInt(num.val()) < 99) {
num.val(parseInt(num.val()) + 1);
}else{
num.val(99);
};
});
$(document).on('click', '.list_decrease_num', function(){
var num = $(this).next('input');
if (num.val() != 1 ) {
num.val(parseInt(num.val()) - 1);
};
});
两种使用方式效果是不同的,第一种的作用点在p标签上,它会对document内所有list_decrease_num标签绑定click事件,而第二种作用点在body上面,它捕获document内所有list_decrease_num标签的click事件,也就是说,第一种方法是静态绑定的,新增list_decrease_num标签不会得到事件绑定,而第二种,新增list_decrease_num标签只要是document内的,都能被捕获,从而实现类似live的效果。