繁体   English   中英

JS Memory是否与AJAX应用程序和事件侦听器一起泄漏?

[英]JS Memory leaks with AJAX app and event listeners?

因此,我正在制作一个完全在AJAX中构建的复杂项目管理系统。 使用哈希导航时,该站点将加载并删除大量HTML,并在每次加载时添加许多事件侦听器。

我的问题是,在$ .remove'd之后,现代浏览器是否会垃圾收集事件监听器。

如果不是,最好使用onclick =“ doFunction();” 而是防止添加事件侦听器? 我宁愿不这样做,但是如果它可以防止内存泄漏,那可能是最好的选择。

任何帮助将不胜感激。

谢谢!

不,最好使用jQuery添加事件侦听器,因为jQuery处理可能的内存泄漏

使用onclick不是要走的路。 jQuery是一个很好的选择,特别是如果它在整个应用程序中证明有用的话。 如果仅将其用于Ajax,则可能会找到较小的库来完成这项工作。

如果要使用jQuery,我强烈建议您使用.on()而不是在每次加载时都添加事件监听器。 如果您对代理使用.on()(替换不推荐使用但仍可运行的.delegate()方法),则无需将它们与每个负载重新绑定,这实际上消除了由于绑定/解除绑定意大利面条造成的泄漏的可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM