我曾在生成的页面和框架中使用live()
。但在jQuery 1.9
中,此函数已被弃用且不可用。
我现在使用on()
代替live()
,但这种方法只适用于一次性操作,在框架中也不起作用。
我的代码如下:
$("#element").live('click',function(){
$("#my").html(result);
});
解决方案是什么?
我曾在生成的页面和框架中使用live()
。但在jQuery 1.9
中,此函数已被弃用且不可用。
我现在使用on()
代替live()
,但这种方法只适用于一次性操作,在框架中也不起作用。
我的代码如下:
$("#element").live('click',function(){
$("#my").html(result);
});
解决方案是什么?
$('body').on('click', '#element', function(){
$("#my").html(result);
});
现在被点击元素的选择器通过.on()
函数参数传递,并且以前的选择器应该用最近的父级选择器替换,最好是带有ID。如果您不知道要使用哪个父级选择器,则body
也可以,但效率较低。
请参见jQuery 1.9 .live() is not a function以了解如何迁移现有代码。
.live()
的文档中还有一个关于如何从.live()
转换到.on()
的部分。 - Anthony Grist