3
說我添加一個load
事件窗口,像這樣:我應該總是removeEventListener?
window.addEventListener("load",initialize);
我應該然後從窗口中刪除加載事件偵聽器的事件被觸發後?它只會發射一次,但會在發生後繼續收聽嗎?
這是很簡單的事:
function initialize(event_){
/* Just by adding this line. */
window.removeEventListener("load",initialize);
}
但是,這是矯枉過正或將實際受益我的程序的性能?我只問,因爲「加載」事件只會觸發一次,所以如果它自己解決了就會有意義。我從來沒有聽說過一個自我解決的傾聽者,儘管......任何想法?
編輯此外,我並不特別關注「加載」事件,只是偵聽器繼續偵聽只觸發一次事件的一般場景。
如果你不確定這個方法,爲什麼不嘗試'window.onload = initialize;'這會調用你的初始化函數,但不會作爲事件監聽器繼續。我看不到任何刪除加載事件偵聽器的原因,但我只是給出另一個選項/方法,但都會做同樣的事情。 – NewToJS 2015-04-05 15:28:55
沒有理由這樣做。 (@NewToJS設置'window'的'onload'屬性只是建立事件處理程序的另一種方式。) – Pointy 2015-04-05 15:28:57
@Pointy我明白,我只是分享另一種觸發它的方法,但正如你明確指出的那樣,沒有任何理由去除事件。 – NewToJS 2015-04-05 15:31:06