1.7后增加了 live()
1.9后被移除了
网上说可以用 on() 代替
可以实际在动态生成元素上绑定动作,没效果,求解绝方法(用低版本的jQuery这种方法,求别说。。)
不是没有效果,而是你用法不对。。。仔细看一下“on()”的文档去吧~
之前有老兄回答过类似这个问题,我把他的写法给你贴一下吧:
你应该使用 on 事件进行绑定,这样新插入的元素就可以触发点击事件了。http://api.jquery.com/on/
$(function(){ $("body").on("click", '.a', function(){ alert('ok'); }); $('.b').click(function(){ $("<div class='a'></div>").insertAfter($(this)); }); })
不知道有没有消除你的疑惑
原帖这里:http://sfau.lt/bNU1D
可以用jQuery的delegate方法,和live差不多。
$('.parentEl').delegate('.childEl', 'click', function(e){
//xxoo
});
$('.parentEl').append('<div class="childEl">ChildEl</div>');
详情: http://api.jquery.com/delegate/ 不知道是不是你想要的。