开发过程中遇到的问题做此记录以防忘记。
本来想对动态生成的表格中的某列数字进行加减运算下面代码是动态生成的
<button type="button" class="btnReduce">-</button>
<input type="text" name="" value="2">
<button type="button" class="btnAdd">+</button>
需要给动态生成的元素添加点击事件处理程序的时候,用传统的方法不生效
原因:在绑定事件的时候选择器只会选择页面中已经存在的元素,所以动态生成的元素是绑定不了事件的。
$(".btnAdd").bind(function(){
var n=$(this).prev().val();
var num=parseInt(n)+1;
if(num==0){ return;}
$(this).prev().val(num);
});
那么可以通过事件委托 on() 开解决这个问题
$(document).on('click', '.btnAdd', function(e) {
var n=$(this).prev().val();
var num=parseInt(n)+1;
if(num==0){ return;}
$(this).prev().val(num);
});