前言
有些函数,必须在网页加载完毕后执行。比如:涉及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 }
- 将现有的window.onload事件处理函数的值存入变量oldOnload
- 如果这个处理函数上还没有绑定函数,则和那样把新函数绑定给它。
- 如果已经绑定了函数,则把新的函数追加到指令的末尾。
调用方法:
addEventLoad(firstFuction);
addEventLoad(secondFuction);
时间: 2024-10-18 13:53:20