我了解现在已弃用“实时”功能。如何迁移以下内容以使用新的“on”?
$('a.action').live( "click", function (evt) {
// Do stuff
}
场景是 a.action 是动态创建的。我试过这个,无济于事:
$('a.action').on( "click", function (evt) {
// Do stuff
}
我了解现在已弃用“实时”功能。如何迁移以下内容以使用新的“on”?
$('a.action').live( "click", function (evt) {
// Do stuff
}
场景是 a.action 是动态创建的。我试过这个,无济于事:
$('a.action').on( "click", function (evt) {
// Do stuff
}
如果您想要在添加事件处理程序时对象不必存在的实际.live()
类型性能,那么您应该找到始终存在的所有元素的父 DOM 对象并像这样绑定到该对象:a.action
a.action
.on()
$(parent selector).on('click', 'a.action', function (evt) {
// Do stuff
});
该父级应尽可能靠近a.action
对象以获得最大效率。因此,不希望绑定到document
.
实际上,.live()
不推荐使用的一个原因是它绑定到document
对象,当有太多事件都流过一个对象时,很容易导致性能问题(事件调度性能受到影响)。
有关更多信息,请参阅我的其他相关答案:
jQuery .live() 与 .on() 方法在加载动态 html 后添加点击事件
$(document).on('click', 'a.action', function (evt) {
// Do stuff
});