Jquery on() 动态绑定事件

时间:2021-02-26 16:01:40

之前就一直受这个问题的困扰,在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>