gpt4 book ai didi

jquery - 如何使用 JQuery 删除父元素的子元素的所有事件处理程序

转载 作者:行者123 更新时间:2023-12-03 22:06:21 32 4
gpt4 key购买 nike

给定一个特定的父节点,例如动态创建的模态 div。在向其中添加一堆动态 html,然后将这些元素绑定(bind)到单击、鼠标悬停等事件之后,是否有一种方法可以取消绑定(bind)与模态 div 的子元素关联的所有事件。在我的具体示例中,一旦模态 div 被隐藏,它就会从 dom 中完全删除,然后在每次需要时从头开始重新创建。

我正在寻找一种不必跟踪所有特定绑定(bind)的方法,而只需使用一个调用来表示:获取任何具有绑定(bind)的子元素并“关闭”它们。

注意:我可以验证从 dom 中删除元素然后重新创建它不会终止绑定(bind),因为打开和关闭模式 div 会导致绑定(bind)事件被触发与创建 div 的次数相同的次数。我使用 $(document).on('click', '#abc',function(e) {}); 绑定(bind)元素。

最佳答案

您可以使用unbind()如果您使用 bind() 附加事件。

  $('#foo').children().unbind();
$('#foo').children('.class').unbind(); //You can give selector for limiting clildren

使用off()如果您使用 on() 来绑定(bind)事件。

 $('#foo').children().off();
$('#foo').children('class').off(); //You can give selector for limiting clildren

要从所有后代而不是直接子元素中删除事件,您可以使用 Descendant Selector (“ancestor descendant”) .

$('#foo *').off(); 

关于jquery - 如何使用 JQuery 删除父元素的子元素的所有事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12012882/

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