jQuery 1.7.1 on()在live()工作时不起作用

luk*_*nis 1 jquery

我有一个简单的代码片段

$('.box_tile_image').live('click', function() {
console.log('click');   
});
Run Code Online (Sandbox Code Playgroud)

问题是我想使用on()live()是过时了,但如果我用上面的情况-我不明白" 点击 ",而如果我更换它就像一件轻而易举的.

可能是什么问题?

Roy*_*mir 5

主选择器应位于WRAPPER ELEMENT上

$('#MyWrapperElement').on('click',".box_tile_image",function() {
console.log('click');   
});
Run Code Online (Sandbox Code Playgroud)


T.J*_*der 5

相当于:

$(document).on('click', '.box_tile_image', function() {
    console.log('click');   
});
Run Code Online (Sandbox Code Playgroud)

...事实上,如果从1.7开始查看jQuery源代码,那就是全部live.

现在,也就是说,我强烈建议将点击更接近目标元素,而不是一直向上document.但是对于字面上的等价物,如果所讨论的元素真的没有其他共同的祖先,那就是你要做的.