把多个JavaScript函数绑定到onload事件处理函数上的技巧

一,onload事件发生条件

  用户进入页面且页面所有元素都加载完毕。如果在页面的初始位置添加一个JavaScript函数,由于文档没有加载完毕,DOM不完整,可能导致函数执行错误或者达不到我们想要的效果。

二,绑定多个函数到onload事件上

1,先展示一个错误的做法

1 window.onload = firstFunction;
2 window.onload = secondFunction;

实际执行过程中,只有最后一个函数被执行,因为每个事件处理函数只能绑定一条指令。

2,使用一个匿名函数

1 window.onload = function()
2 {
3     firstFunction();
4     secondFunction();
5 }

3,一个通用的解决方案

  函数名称为addLoadEvent,它由Simon Willision编写,参数为页面执行完毕时需要执行的函数名字。

 1 function addLoadEvent(func)
 2 {
 3     var oldonload = window.onload;
 4     if(typeof window.onload != ‘function‘)
 5     {
 6         window.onload = func;
 7     }
 8     else
 9     {
10         window.onload = function()
11         {
12             oldonload();
13             func();
14         }
15     }
16 }

  这个函数的优点在于无论有多少个需要执行的函数,我只需加上一条语句就可以搞定,而无须修改以前的代码。

1     addLoadFunction(firstFunction);
2     addLoadFunction(secondFunction);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。