jQuery - 如何使用"on()"方法替代"live()"方法?

26

我曾在生成的页面和框架中使用live()。但在jQuery 1.9中,此函数已被弃用且不可用。

我现在使用on()代替live(),但这种方法只适用于一次性操作,在框架中也不起作用。

我的代码如下:

  $("#element").live('click',function(){
    $("#my").html(result);
   });

解决方案是什么?


6
阅读文档。将事件处理程序委托给更高层次的DOM树。 - James Allardice
6
.live()文档中还有一个关于如何从.live()转换到.on()的部分。 - Anthony Grist
1个回答

73
$('body').on('click', '#element', function(){
    $("#my").html(result);
});

现在被点击元素的选择器通过.on() 函数参数传递,并且以前的选择器应该用最近的父级选择器替换,最好是带有ID。如果您不知道要使用哪个父级选择器,则body也可以,但效率较低。

请参见jQuery 1.9 .live() is not a function以了解如何迁移现有代码。


谢谢你提供的有用答案,对我很有帮助。 - Farhad
谢谢...回答得很好... - Rahul Chaudhari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接