window.onload綁定多個(gè)事件的兩種解決方案
前言
有些函數(shù),必須在網(wǎng)頁(yè)加載完畢后執(zhí)行。比如:涉及DOM操作的。
網(wǎng)頁(yè)加載完畢時(shí)會(huì)觸發(fā)一個(gè)onload事件,將函數(shù)綁定到這個(gè)事件上即可。
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ì)大家有所幫助!
- 淺析document.ready和window.onload的區(qū)別講解
- JS:window.onload的使用介紹
- jquery $(document).ready() 與window.onload的區(qū)別
- jquery中的$(document).ready()與window.onload的區(qū)別
- js window.onload 加載多個(gè)函數(shù)的方法
- window.onload 加載完畢的問(wèn)題及解決方案(下)
- window.onload 加載完畢的問(wèn)題及解決方案(上)
- 頁(yè)面中body onload 和 window.onload 沖突的問(wèn)題的解決
- window.onload的頁(yè)面加載技巧
相關(guān)文章
通過(guò)構(gòu)造函數(shù)實(shí)例化對(duì)象的方法
下面小編就為大家?guī)?lái)一篇通過(guò)構(gòu)造函數(shù)實(shí)例化對(duì)象的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06簡(jiǎn)單了解TypeScript中如何繼承 Error 類(lèi)
這篇文章主要介紹了簡(jiǎn)單了解TypeScript中如何繼承 Error 類(lèi),一個(gè)典型的網(wǎng)站服務(wù)器可能需要有 NetworkError, DatabaseError, UnauthorizedError 等。 我們希望這些類(lèi)都擁有 Error 的特性:有錯(cuò)誤消息、有調(diào)用棧、有方便打印的 toString 等。,需要的朋友可以參考下2019-06-06JavaScript中arguments.callee屬性的作用與替換方案
這篇文章介紹了JavaScript中arguments.callee屬性的作用與替換方案,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Add a Picture to a Microsoft Word Document
Add a Picture to a Microsoft Word Document...2007-06-06