javascript addLoadEvent函數說明

爲了在網頁加載完後,同時執行多個函數,Simon Willison寫了function addLoadEvent(func):html

function addLoadEvent(func){ 
var oldOnload = window.onload; 
if (typeof window.onload != 'function'){ 
window.onload = func; 
} 
else { 
window.onload = function(){ 
oldOnload(); 
func(); 
} 
} 
}

addLoadEvent工做流程: 
把現有的window.onload事件處理函數的值存入變量oldonload。 
若是在這個處理函數上尚未綁定任何函數,就像平時那樣把新函數添加給它; 
若是在這個處理函數已經綁定了一些函數,就把函數追回到現有指令未尾。 
瀏覽器加載html內容是自上而下的(默認),而JS通常是在哪裏引入——想一想若是JS裏面包含了一些即時執行指令, 
它會操做根本不存在元素節點(由於尚未加載完)會有什麼後果?結果就是出錯。 
addLoadEvent能夠實現不管有多少個函數,都能讓它們同時和window.onload事件綁定。瀏覽器

相關文章
相關標籤/搜索