我应该始终删除EventListener吗
Should I always removeEventListener?
假设我将load
事件添加到窗口中,如下所示:
window.addEventListener("load",initialize);
在事件触发后,我是否应该从窗口中删除加载事件侦听器?它只发射一次,但在那之后它还会继续听吗?
这很简单:
function initialize(event_){
/* Just by adding this line. */
window.removeEventListener("load",initialize);
}
但这是过分了,还是真的会对我的程序的性能有益?我之所以这么问,是因为"加载"事件只触发一次,所以如果它自己解决了,那就有意义了。我从来没有听说过一个自我解决的听众,不过。。。有什么想法吗?
编辑:此外,我并不特别关心"加载"事件,只是侦听器继续侦听只触发一次的事件的一般情况。
window.addEventListener('load', initialize, {once: true});
在事件触发后,我是否应该从窗口中删除加载事件侦听器?
我从来没有见过这样做,所以我认为没有真正的必要。
它只发射一次,但在那之后它还会继续听吗?
DOM只触发一次,是的。但它将继续侦听,您可以很容易地手动触发load
事件(有关示例,请参阅MDN)。
但这是过分了,还是真的会对我的程序的性能有益?
通常情况下,这太过分了,因为这并没有太大的区别。当然,它可能会触发initialize
上的垃圾收集,这可以节省一点内存(或更多,取决于您的代码结构),并通过使其可用于应用程序的其他部分来提高性能。
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 我应该始终删除EventListener吗
- 使用Angular添加EventListener并将其删除
- 正在添加用于文件删除的eventListener
- JS:将 EventListener 添加到动态创建的 DOM 对象中,这些对象删除 parentNode
- 如何在 Javascript 中删除 eventListener
- JavaScript添加和删除<tr>使用EventListener和jQuery
- 单击按钮后删除EventListener
- 通过返回false删除EventListener
- Javascript:如何删除eventListener
- 删除面向对象JavaScript中的eventListener
- EventListener可以通过取消它的回调函数来删除吗?
- EventListener没有被删除并再次添加,这是有问题的吗?
- 为什么不'是否删除EventListener函数
- 可以't删除eventListener
- javascript:删除一个 EventListener,然后将其重新添加
- 如何在创建时删除EventListener