gpt4 book ai didi

jQuery - 从 live() 迁移到 on()

转载 作者:行者123 更新时间:2023-12-03 22:37:31 24 4
gpt4 key购买 nike

据我了解,“实时”功能现已弃用。如何迁移以下内容以使用新的“on”?

$('a.action').live( "click", function (evt) {

// Do stuff

}

场景是 a.action 正在动态创建。我已经尝试过了,但没有成功:

$('a.action').on( "click", function (evt) {

// Do stuff

}

最佳答案

如果您想要实际的 .live() - 类型性能,其中在添加事件处理程序时 a.action 对象不必存在,那么您应该找到始终存在的所有 a.action 元素的父 DOM 对象,并将 .on() 绑定(bind)到该对象,如下所示:

$(parent selector).on('click', 'a.action', function (evt) {
// Do stuff
});

该父对象应尽可能靠近 a.action 对象,以实现最大效率。因此,不希望绑定(bind)到 document

事实上,.live() 已被弃用的原因之一是它绑定(bind)到 document 对象,当太多时很容易导致性能问题事件全部流经一个对象(事件调度性能受到影响)。

有关更多信息,请参阅我的其他相关答案:

jQuery .live() vs .on() method for adding a click event after loading dynamic html

How does jQuery's new on() method compare to the live() method in performance?

Should all jquery events be bound to $(document)?

关于jQuery - 从 live() 迁移到 on(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com