Javascript是否删除已删除DOM元素的事件处理程序?

时间:2011-12-17 19:30:25

标签: javascript dom memory-leaks

如果我将一堆事件附加到某些DOM元素 - 然后删除它们 - 是否仍会使用用于其事件处理程序或其他属性的内存?

我问,因为我想知道如果我继续用AJAX请求中的新元素重新填充页面区域并将事件绑定到它们,我是否会使用一堆内存 - 只删除它们并在新的时候重复该过程AJAX结果出现了。

1 个答案:

答案 0 :(得分:7)

是的,现代浏览器(最终)释放DOM节点中事件处理程序使用的内存。但是,旧版本的Internet Explorer没有,因此在从DOM中删除节点之前删除事件侦听器总是很好的做法。

这是一篇很好的文章,用于了解正在发生的事情:http://msdn.microsoft.com/en-us/library/bb250448(v=vs.85).aspx