写JavaScript时,有时会需要给window.onload事件绑定多个函数,但当代码比较长的时候,将所有需要绑定的函数整合在一起会显得比较困难,而将多个函数分别绑定到window.onload时,只有最后绑定的才会被实际执行.
所以寻找一个弹性的解决方案就十分有必要.通过下述的addLoadEvent函数,不管需要在页面加载完毕时绑定多少个函数,,只需调用addLoadEvent即可.
addLoadEvent是由Simon Willison编写的.代码如下:
function addLoadEvent(func) { var oldonload=window.onload; if (!window.onload){ window.onload=func; }else{ window.onload=function(){ oldonload(); func(); } } }
addLoadEvent函数的工作流程如下:
1.将window.onload事件处理函数的值赋给oldonload
2.若window.onload并未绑定函数,则将传入的参数func赋给它
3.若window.onload已绑定函数,则将func追加至现有函数的末尾
可以看出在将addLoadEvent函数添加至JS代码后,当需要给window.onload事件增加函数时,只需要调用addLoadEvent(),传入所需追加的函数名就可以了.