window.onload綁定多個事件 —— 兩種解決方案


前言

      有些函數,必須在網頁加載完畢后執行。比如:涉及DOM操作的。

      網頁加載完畢時會觸發一個onload事件,將函數綁定到這個事件上即可。

      window.onload = myFunction;

      問題來了:如果需要同時綁定多個事件,該如何處理呢?有兩種解決方法

 

方案一

      創建一個匿名函數,來容納需要綁定的多個事件,再講這個匿名函數綁定到onload事件上      

1 window.onload = function(){ 2  firstFunction(); 3  secondFunction(); 4  ...... 5 }

 

方案二

     由Simon Willsion編寫的addLoadEvent函數:     

 1 function addEventLoad(func){  2    var oldOnload = window.onload;  3    if(typeof window.onload != 'function'){  4        window.onload = func;  5    }else{  6         window.onload = function(){  7  oldOnload();  8  func();  9  } 10  } 
12 }
  1. 將現有的window.onload事件處理函數的值存入變量oldOnload
  2. 如果這個處理函數上還沒有綁定函數,則和那樣把新函數綁定給它。
  3. 如果已經綁定了函數,則把新的函數追加到指令的末尾。

     調用方法:

     addEventLoad(firstFuction);

     addEventLoad(secondFuction);

 


免責聲明!

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



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