我已经知道.on应该取代.live了,但是我从来没有让它工作过。
我试过:
$(this).on('click', function(){
// Do something...
})
$(this).on({
click: function(){ // Do something }
})
但这对我没用!
特别是,当我试图将事件绑定到最初可能不存在于页面上的元素时。
谁能帮我把这件事一劳永逸地澄清一下吗?
我正在使用最新版本的jquery。
发布于 2013-01-09 06:33:52
对于动态生成的元素,您需要使用如下
$(document).on('click','YOUR SELECTOR', function(){
});
这是因为文档是元素的容器,可以观察DOM的更改。对于每个操作,都需要有一个显式的事件侦听器。如果将某项绑定到$(this),则删除它时它(选择器)可能不存在。
发布于 2013-01-09 06:31:15
做得像:
$(".parent").on('click', ".child", function(){
// Do something...
})
您使用的语法就像bind
一样工作。若要将事件绑定到所有以后的元素,请使用上述语法。
发布于 2013-01-09 06:30:40
您需要指定哪些元素。
$element.on('click', '.foo', handler)
将handler
绑定到$element
中的所有活动.foo
。
https://stackoverflow.com/questions/14229454
复制相似问题