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);

 

你可能感兴趣的:(window.onload绑定多个事件 —— 两种解决方案)