首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

判斷 window.onload 是否多次綁定的實用方法

     編輯:更多程式設計知識

window.onload 只能綁定一個處理函數,後綁定會覆蓋前者。需判斷是否已被佔用,採用相容寫法。

問題示意

window.onload 多次綁定示意圖

解決方案:事件兼容綁定函數

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

// 使用方式
addLoadEvent(function() { console.log("第一個"); });
addLoadEvent(function() { console.log("第二個"); });
addLoadEvent(function() { console.log("第三個"); });

現代替代方案

// 推薦:addEventListener (IE9+)
window.addEventListener('load', function() { /* ... */ });
window.addEventListener('load', function() { /* ... */ });

// 或使用 DOMContentLoaded (更早觸發,不等待圖片)
document.addEventListener('DOMContentLoaded', function() { /* ... */ });

addEventListener 支援多監聽器、捕獲/冒泡階段控制,是現代標準做法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved