gpt4 book ai didi

javascript - 两个相等的 jQuery .on 事件是否绑定(bind)了两次?

转载 作者:数据小太阳 更新时间:2023-10-29 05:04:35 24 4
gpt4 key购买 nike

假设我们有很多事情要做。我们使用 $('body').on('click', '.todo', do_stuff) 而不是 $('.todo').click(do_stuff)所以我们只会将一个事件监听器附加到 DOM。

但是,我使用的是小型 MVC。每个待办事项 View 都有此代码 $('body').on('click', '.todo', do_stuff)。所以如果我们有 20 件事情要做,这是否意味着 body 有 20 个听众或只有一个?他们都会开火吗?

最佳答案

你应该杀掉之前的事件处理器:

<script>
$('body').off('click','.todo', do_stuff);
$('body').on('click', '.todo', do_stuff);
</script>

off() 函数中包含实际的事件处理函数,只会删除该特定的处理程序,而不会删除由相同元素/事件触发的所有其他处理程序。另外,在执行此操作时避免使用匿名函数。

目前还建议放弃unbind()kill()on()/off() 应该适合您所有的事件处理需求,包括 future 的实时绑定(bind)和延迟结果。

关于javascript - 两个相等的 jQuery .on 事件是否绑定(bind)了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991574/

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