2014-03-26 10 views

回答

2

您可以使用DOM2處理程序來代替:

window.addEventListener("load", function() { /*...your code here...*/}, false); 

在IE8和更早版本,你必須處理的事實,他們沒有它:

if (window.addEventListener) { 
    window.addEventListener("load", function() { /*...your code here...*/}, false); 
} 
else if (window.attachEvent) { 
    window.attachEvent("onload", function() { /*...your code here...*/}); 
} 

DOM2處理坐在一起的舊的DOM0處理程序,而不會干擾它們。他們提供的最大好處是可以爲同一個事件設置多個處理程序,所以這個問題(已經存在一個處理程序)不會出現。


邊注:load事件的發生window真的後期在頁面加載過程中,所有的外部資源具有完全加載(或失敗)之後。的99%的時間,這是better to just put your code in a script at the end of the body,剛剛閉幕</body>標籤之前,像這樣:

<!-- ...content... --> 
<script src="yourscript.js"></script> 
</body> 
</html> 

那麼你並不需要在所有掛鉤load事件,因爲所有的DOM元素的標記定義以上已經存在。只需讓你的代碼立即運行。

相關問題