-
window.onload
-
网页加载完毕时可以触发一个onload事件,如window.onload = function 表示网页加载完毕就执行function事件;
-
多个事件绑定到onload上,只有最后一个会被实际执行:
window.onload = func1;
window.onload = func2;
此时func2会取代func1,只有func2被执行。 -
解决办法
1.匿名函数: 适用于需要绑定的函数不是很多的场合。
window.onload = function(){
func1();
func2();
}
2.额外编写代码: 函数名为addLoadEvent,弹性最佳,不管在页面加载时想要执行多少函数都可以应付自如,由Simon Willison(详见http://simon.incutio.com)编写。
下面是addLoadEvent函数将要完成的操作:
- 把现有的window.onload实际处理函数的值存入变量oldonload。
- 如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它。
- 如果在这个处理函数上已经绑定了一些函数,就把新函数追加到现有指令末尾。
function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != "function"){
window.onload = func;
}
else{
window.onload = function(){
oldonload();
func();
}
}
}