HTML事件中的load事件


定義load事件監聽的兩種方法:

一是通過addEventListener,把load事件綁定到window上。

window.addEventListener('load', function() {
    console.log('window onload');
});

二是直接在body上添加onload屬性。

<body onload="console.log('onload')">
</body>

  

Tips

根據DOM Level2 Events文檔的描述,load事件應該在document而非window上被觸發。然而由於所有的瀏覽器都已經實現了在window上觸發load事件,為了向后兼容性的考慮,在瀏覽器中load事件的觸發和spec上描述不一致。

 

兩種定義load事件監聽方式的執行順序

如果在頁面中同時添加這兩種方式,誰會先被觸發呢?觸發點取決於何時加載注冊load事件的腳本。按照HTML頁面的加載順序,如果把腳本放到head里加載,那么在window上注冊的load事件會先觸發,如果把腳本放到body里加載,那body上的onload事件會被先觸發。

 

一般來說,任何在window上注冊的事件,都可以通過在body上定義相應的事件屬性來觸發,這是因為在HTML里無法訪問window元素。推薦的做法是盡可能的使用Javascript的方式注冊事件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM