动态元素的jQuery 1.7 on()和off()方法

Dav*_*vid 21 jquery jquery-1.7

jQuery 1.7 .on().off()方法应该取代.live()等等.

我用动态项目尝试了它:

 $(".myList").on('click', function(e){
  alert('hello world');
 });
Run Code Online (Sandbox Code Playgroud)

这对于我加载DOM后添加的元素不起作用.

代码是否是jQuery 1.7 .on().off()方法的有效示例?

biz*_*lop 33

有关live() - > on/off()(以及其他)示例,请参阅http://blog.jquery.com/2011/11/03/jquery-1-7-released/.

这是他们将live转换为on的示例:

$('a').live('click', fn);
$(document).on('click', 'a', fn);
Run Code Online (Sandbox Code Playgroud)

所以你的例子变成了:

$(document).on('click', '.myList', function(e){
  alert('hello world');
});
Run Code Online (Sandbox Code Playgroud)

  • 但要实现的东西.on()不适用于附加到正文并且具有负z-index的动态创建的元素.无论出于何种原因,点击永远不会遍历包含元素的主体.正文标记将继续捕获所有点击.即使你使主体的z-index低于添加到DOM的元素.然而live()尽管on()不能,但它们有能力定位这些负面索引的项目. (4认同)