可能重复:
jQuery:如何用 .on 替换 .live?
.live()在 jQuery 1.7 中被弃用并在 1.9 版中被删除。我刚刚在我们的应用程序中将 jQuery 升级到 1.9.0,我看到我们过去使用了大量的.live()
调用。
我将所有.live()
调用移植到.on()调用。在大多数情况下,这是一个简单的更新(简单的情况,例如.live()页面上的第二个片段中的那个)。但是在几个地方我有类似的东西:
(function($){
$(document).ready(function() {
$('.ui-jqgrid-btable').find('a.pop_dialog_jqgrid').live('click', function() {
//some code here
});
});
})(jQuery);
我已经移植到:
(function($){
$(document).ready(function() {
$(document).on('click', $('.ui-jqgrid-btable').find('a.pop_dialog_jqgrid'), function() {
//some code here
});
});
})(jQuery);
但它对新代码的作用完全不同(页面上任何地方的所有点击都会触发“某些代码”)。
任何人都可以启发我吗?