渲染后新元素没有绑定事件

问题描述:

1、jquery append方法之后,原来click事件失效了;

2、json渲染出来的数据

问题解决:

1、重复绑定,比如 bind 之类;

2、直接在需要绑定的dom上面绑定onclick事件;

3、事件委托 .live()事件,但新的jquery1.7后不支持使用;

4、on方法

 $("body").on("click",".class",function(){

  to do some thing....

});

5、根据3的原理自己进行事件委托

$(function(){
    $('tbody').click(function(event){
        if (event.target.className == "delete") {
            $(event.target).parents("tr").remove();
        }
    });
 
    $('.add').click(function() {
        $("<tr><td>103</td><td>68</td><td><button class='delete'>删除</button></td></tr>").appendTo('tbody');
    });
});
这儿的event.target.className 是这个标签上所有的class。

 

posted on 2017-09-25 14:46  诚明小巫  阅读(255)  评论(0编辑  收藏  举报

导航