jQuery:如果使用html()从DOM中删除对象,则会从对象中删除事件处理程序

wil*_*age 8 memory jquery events

我担心我的应用程序中的内存泄漏,因为我使用jquery的html()方法来替换DOM中的内容.我只是想确保这些事件监听器不会在浏览器内存中徘徊.

我搜索了jquery文档没有明确的答案.有人知道吗?

多谢你们!

jAn*_*ndy 5

对,他们是.

如果你使用jQuerys .html()它会照顾你.查看jQuery源代码,这一行被调用:

jQuery.cleanData( this[i].getElementsByTagName("*") );
Run Code Online (Sandbox Code Playgroud)

这有效地清理了所有数据事件.如果您innerHTML显式覆盖DOMnodes 属性,这当然不起作用.