你的位置:首页 > Java教程

[Java教程]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   }11 12 }

  1. 将现有的window.onload事件处理函数的值存入变量oldOnload
  2. 如果这个处理函数上还没有绑定函数,则和那样把新函数绑定给它。
  3. 如果已经绑定了函数,则把新的函数追加到指令的末尾。

     调用方法:

     addEventLoad(firstFuction);

     addEventLoad(secondFuction);