window.onload綁定多個(gè)事件的兩種解決方案

字號(hào):


    這篇文章主要介紹了window.onload綁定多個(gè)事件的兩種解決方案的相關(guān)資料,需要的朋友可以參考下
    前言
    有些函數(shù),必須在網(wǎng)頁(yè)加載完畢后執(zhí)行。比如:涉及DOM操作的。
    網(wǎng)頁(yè)加載完畢時(shí)會(huì)觸發(fā)一個(gè)onload事件,將函數(shù)綁定到這個(gè)事件上即可。
    復(fù)制代碼 代碼如下:
    window.onload = myFunction;
    問(wèn)題來(lái)了:如果需要同時(shí)綁定多個(gè)事件,該如何處理呢?有兩種解決方法
    方案一
    創(chuàng)建一個(gè)匿名函數(shù),來(lái)容納需要綁定的多個(gè)事件,再講這個(gè)匿名函數(shù)綁定到onload事件上
    window.onload = function(){
    firstFunction();
    secondFunction();
    ...... 
    }
    方案二
    由Simon Willsion編寫(xiě)的addLoadEvent函數(shù):
    function addEventLoad(func){
    var oldOnload = window.onload;
    if(typeof window.onload != 'function'){
    window.onload = func;
    }else{
    window.onload = function(){
    oldOnload();
    func();
    }
    } 
    }
    將現(xiàn)有的window.onload事件處理函數(shù)的值存入變量oldOnload
    如果這個(gè)處理函數(shù)上還沒(méi)有綁定函數(shù),則和那樣把新函數(shù)綁定給它。
    如果已經(jīng)綁定了函數(shù),則把新的函數(shù)追加到指令的末尾。
    調(diào)用方法:
    addEventLoad(firstFuction);
    addEventLoad(secondFuction);
    以上內(nèi)容是小編通過(guò)兩種方案給大家介紹的window.onload綁定多個(gè)事件的方法,希望對(duì)大家有所幫助!