Javascript 将单击事件绑定到动态创建的html内容
在动态创建特定元素时,我使用以下jQuery命令绑定click事件Javascript 将单击事件绑定到动态创建的html内容,javascript,jquery,Javascript,Jquery,在动态创建特定元素时,我使用以下jQuery命令绑定click事件 $(".bill-remove-icon").live("click", function(){ $(this).parent().hide('slide',function(){$(this).parent().remove()}); }); 但该代码给出了一个firebug错误: TypeError: $(...).live is not a function 我做错了什么?如果此代码错误,请建议一种更好的方法将事件绑定
$(".bill-remove-icon").live("click", function(){
$(this).parent().hide('slide',function(){$(this).parent().remove()});
});
但该代码给出了一个firebug错误:
TypeError: $(...).live is not a function
我做错了什么?如果此代码错误,请建议一种更好的方法将事件绑定到动态创建的元素。Live不推荐使用,您必须将委派与
.on()一起使用。
:
live()
在jQuery 1.7中被弃用,并在1.9中被删除。您需要使用.on()
,它的工作原理与live()
略有不同。不能将事件处理程序附加到动态注入的元素,必须将其附加到页面加载中存在的元素,并将事件委托给动态添加的元素,如下所示:
$(document).on('click', '.bill-remove-icon', function() {
...
});
您应该更改document
以获得更接近bill remove icon
的内容,这样事件就不会在DOM树上冒泡
不要使用
live
它已被弃用。在
$(".bill-remove-icon").on("click", function(){
$(this).parent().hide('slide',function(){$(this).parent().remove()});
});
烤面包:谢谢!我想是的!:)无论如何,谢谢你的努力!
$(".bill-remove-icon").on("click", function(){
$(this).parent().hide('slide',function(){$(this).parent().remove()});
});