首页 > 代码库 > 把多个JavaScript函数绑定到onload事件处理函数上的技巧

把多个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);

 

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