假设我像下面这样为窗口添加一个load
事件:
window.addEventListener("load",initialize);
那我是否应该在事件触发后从窗口中移除load事件监听器呢?它只会触发一次,但它会在此之后继续监听吗?
这很简单:
function initialize(event_){
/* Just by adding this line. */
window.removeEventListener("load",initialize);
}
但是这是否过度了,或者这样做是否真正有利于我的程序性能?我只是问一下,因为“load”事件只会触发一次,所以如果它自己解决了就有道理了。虽然我从未听说过自行解决的侦听器... 有什么想法吗?
编辑:另外,我不关心特定的“load”事件,只关心监听器继续监听只会触发一次的事件的一般情况。
window.onload=initialize;
呢?这将调用您的初始化函数,但不会继续作为事件侦听器。我看不出删除加载事件侦听器的任何理由,但我只是提供另一种选项/方法,但两者都会做同样的事情。 - NewToJSwindow
的onload
属性只是另一种建立事件处理程序的方式。) - Pointy