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

前言

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

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

      window.onload = myFunction;code

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

 

方案一

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

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

 

方案二

     由Simon Willsion編寫的addLoadEvent函數:     io

 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. 若是已經綁定了函數,則把新的函數追加到指令的末尾。

     調用方法:function

     addEventLoad(firstFuction);class

     addEventLoad(secondFuction);匿名函數

相關文章
相關標籤/搜索