之前就一直受这个问题的困扰,在jQuery1.7版本之后添加了on方法,之前就了解过,其优越性高于live(),bind(),delegate()等方法,在此之前项目中想用这个来测试结果发现,居然动态生成的标签点击了没反应,而live方法却能够支持;
jQuery 使用on绑定动态生成的元素时,不能直接用该对象操作,而是选择其非动态生成的父节点然后再找到本身才能达到效果。
$("#table").on("click","a",function(){
//do something
})
如下:当我动态添加一行时,不要考虑再重新在a上去绑定事件
<table class="table table-bordered mrg_0" id="table">
<thead>
<tr>
<th>编号</th>
<th>名称</th>
<th>编辑</th>
</tr>
</thead>
<tbody>
<tr id="2">
<td>2</td>
<td>CBA</td>
<td><a href="javascript:" class="link btn btn-danger btn-sm" data-oper="del" >删除</a>
<a href="javascript:void(0)" class="link btn btn-primary btn-sm" data-oper="modify">修改</a>
</td>
</tr>
</tbody>
</table>