我已经知道。on应该取代。live有一段时间了,但是我从来没有能让它工作。
I have try:
$(this).on('click', function(){
// Do something...
})
$(this).on({
click: function(){ // Do something }
})
但这对我从来都不起作用!
特别是当我试图将事件绑定到最初页面上可能不存在的元素时。
谁能帮我把这个彻底弄清楚吗?我使用的是最新版本的jquery
对于动态生成的元素,您需要使用
$(document).on('click','YOUR SELECTOR', function(){
});
这是因为文档是元素的容器,它可以监视DOM的变化。对于每个操作,都需要有一个显式的事件侦听器。如果你将一些东西绑定到$(this),当你删除它时,它(选择器)可能不存在。
像这样做:
$(".parent").on('click', ".child", function(){
// Do something...
})
您使用的语法就像bind
。要将event绑定到所有未来元素,请使用上述语法。
您需要指定哪些元素。
$element.on('click', '.foo', handler)
将handler
与$element
内所有活的.foo
结合。