删除标识为#foo
的DOM元素是否会分离引用该ID的所有jquery侦听器?例如,如果我在$('#foo #bar')
上有一个监听器,那还会自动删除吗? (我使用elem.parentNode.removeChild(elem)
方法删除元素。)
如果我必须进行手动清理,那么使用jquery .off()
方法(如$('#foo').off()
)是否也会使用$('#foo #bar').on('click', myFunction)
分离我附加的所有侦听器,或者只是分离?
答案 0 :(得分:1)
删除ID为#foo的DOM元素是否会分离引用该ID的所有jquery侦听器?
如果您使用jQuery来执行此操作,例如:
$("#foo").remove();
jQuery为您处理清理工作。来自the documentation:
除了元素本身,所有绑定事件和与元素关联的jQuery数据都将被删除。
(我的重点)
之后,在删除<div class="hello">
:
如果我们在
<div class="hello">
中有任意数量的嵌套元素,它们也会被移除。 其他jQuery构造(如数据或事件处理程序)也会被删除。
(我的重点)