从已删除的DOM元素

时间:2018-06-18 16:26:13

标签: javascript jquery dom listener id

删除标识为#foo的DOM元素是否会分离引用该ID的所有jquery侦听器?例如,如果我在$('#foo #bar')上有一个监听器,那还会自动删除吗? (我使用elem.parentNode.removeChild(elem)方法删除元素。)

如果我必须进行手动清理,那么使用jquery .off()方法(如$('#foo').off())是否也会使用$('#foo #bar').on('click', myFunction)分离我附加的所有侦听器,或者只是分离?

1 个答案:

答案 0 :(得分:1)

  

删除ID为#foo的DOM元素是否会分离引用该ID的所有jquery侦听器?

如果您使用jQuery来执行此操作,例如:

$("#foo").remove();

jQuery为您处理清理工作。来自the documentation

  

除了元素本身,所有绑定事件和与元素关联的jQuery数据都将被删除

(我的重点)

之后,在删除<div class="hello">

的示例后
  

如果我们在<div class="hello">中有任意数量的嵌套元素,它们也会被移除。 其他jQuery构造(如数据或事件处理程序)也会被删除。

(我的重点)