window常見事件onload


1, window.onload 是窗口(頁面)加載事件,當文檔內容完全加載完成會觸發該事件(包括圖像,腳本文件,css文件等),就調用的處理函數

    下面的代碼,當點擊按鈕,並不會彈出對話框,因為頁面還沒有加載到按鈕元素,無法執行 js 點擊事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var btn=document.querySelector("button");
        btn.onclick=function(){
            alert("點擊了");
        }
    </script>
</head>
<body>
<button>點擊</button>
</body>
</html>

    處理辦法是:

window.onload = function() {
            var btn = document.querySelector('button');
            btn.addEventListener('click', function() {
                alert('點擊我');
            })
        }

2,window.onload傳統注冊事件方式,只能寫一次,如果有多個,會以最后一個window.onload為准

     下面的代碼,頁面一加載,就會彈出“22", 然后再點擊按鈕,不能執行點擊事件,無法彈出”點擊我“

 window.onload = function() {
            var btn = document.querySelector('button');
            btn.addEventListener('click', function() {
                alert('點擊我');
            })
        }
        window.onload = function() {
            alert(22);
        }

      解決方法:如果使用addEventListener 則沒有限制

window.addEventListener('load' ,function(){
     var btn=document.querySelector("button");
     btn.onclick=function(){
         alert("點擊");
     }
})
 
window.addEventListener('load' , function(){
     alert("22");
})

       頁面一加載,彈出”22“后,再點擊按鈕,又會彈出”點擊“。

3,窗口加載事件:document.addEventListener( ' DOMContentLoaded ' ,  function(){})

      DOMContentLoaded事件觸發時,僅當DOM加載完成,不包括樣式表,圖片,flash等等。(IE9以上才支持)

      如果頁面的圖片很多的話,從用戶訪問到 onload觸發可能需要較長的時間,交互效果就不能實現,必然影響用戶體驗,此時用DOMContentLoaded事件比較合適。

 


免責聲明!

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



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