卸载页面的时候有必要清除所有事件处理程序吗?
如高程3所说
导致 "空事件处理程序" 的另一种情况,就是卸载页面的时候,IE8- 的问题就比较多,其它浏览器或多或少也有问题,如果页面在被卸载之前没有清理干净事件处理程序,那它们就会滞留在内存中,每次卸载再加载页面时(两个页面来回切换或刷新),内存中滞留的对象就会增加,因为事件处理程序占用的内存并没有被释放。
一般来说最好的做法,就是在页面卸载之前,先通过 onunload 事件处理程序移除所有事件处理程序,在此事件委托又表明了它的优点。
那么大家会在innerHTML删除 DOM 或页面卸载的时候清除事件处理程序吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
当然要移除了,不然你的事件监听还会保留在内存中,没有释放。代码里只要有事件监听,定时器,还有一些使用闭包的功能不使用了就需要移除掉,避免造成垃圾
肯定是要移除的
只要不是太古老的浏览器,你懒得清除也没什么关系,只要你确定页面会完全关闭
当然,如果你想你的页面越来越卡的话,不清可是可以的。