卸载页面的时候有必要清除所有事件处理程序吗?

发布于 2022-09-11 19:15:35 字数 307 浏览 22 评论 0

如高程3所说

导致 "空事件处理程序" 的另一种情况,就是卸载页面的时候,IE8- 的问题就比较多,其它浏览器或多或少也有问题,如果页面在被卸载之前没有清理干净事件处理程序,那它们就会滞留在内存中,每次卸载再加载页面时(两个页面来回切换或刷新),内存中滞留的对象就会增加,因为事件处理程序占用的内存并没有被释放。
一般来说最好的做法,就是在页面卸载之前,先通过 onunload 事件处理程序移除所有事件处理程序,在此事件委托又表明了它的优点。

那么大家会在innerHTML删除 DOM 或页面卸载的时候清除事件处理程序吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

就此别过 2022-09-18 19:15:35

当然要移除了,不然你的事件监听还会保留在内存中,没有释放。代码里只要有事件监听,定时器,还有一些使用闭包的功能不使用了就需要移除掉,避免造成垃圾

知足的幸福 2022-09-18 19:15:35

肯定是要移除的

贪恋 2022-09-18 19:15:35

只要不是太古老的浏览器,你懒得清除也没什么关系,只要你确定页面会完全关闭

ˉ厌 2022-09-18 19:15:35

当然,如果你想你的页面越来越卡的话,不清可是可以的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文