<div id="target">
...
</div>
$('#target')。html('')将删除内容,但如何检查是否同时删除了侦听器或其他任何保存内存的内容?
答案 0 :(得分:2)
标准JavaScript定义无法检测解释器的垃圾收集器,因此我认为这不可行。
但是,由于删除节点不是一种不常见的操作,我不担心浏览器在这种情况下泄漏内存。事实上,正如Piskvor所说,内存可能不会立即释放,但是当垃圾收集器最终运行时。
答案 1 :(得分:2)
我不确定如何在JavaScript中检测到泄漏(使用JavaScript)。但是有一些工具可用于检测JavaScript中的泄漏
答案 2 :(得分:0)
我不是这方面的专家,但由于你使用的是jQuery,你应该使用$('#target').empty()
。这会在删除子元素之前分离所有事件处理程序。收集这些内容取决于浏览器,但这可确保在时间到来时收集它们。您还可以使用$.remove()
删除所选元素和所有子元素。