首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过命名空间有效地从所有DOM元素中删除事件侦听器?

问如何通过命名空间有效地从所有DOM元素中删除事件侦听器?
EN

Stack Overflow用户
提问于 2015-06-24 18:39:45
回答 1查看 138关注 0票数 3

我知道我可以这样做:$('*').off('.namespace');

但是我觉得*不是一个好主意,因为jQuery将遍历整个DOM树,这将是缓慢的。

jQuerys内部$.cache包含有关通过.on()绑定的事件侦听器的信息。

有没有办法告诉jQuery只需通过内部缓存并从任何元素中删除特定命名空间中的所有事件侦听器-而不必* DOM树?

编辑:,问题是我不知道侦听器绑定到哪些元素--我只知道它们绑定到哪个名称空间。

EN

回答 1

Stack Overflow用户

发布于 2015-06-24 18:43:04

为什么不把一个事件绑定到每个元素上呢?

代码语言:javascript
复制
$('.some_el').addClass('has_foo_event').on('click.foo', function() {});

然后

代码语言:javascript
复制
$('.has_foo_event').off('.foo');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31034430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档