一、window.onload()方法:
该方法用于在网页加载完毕后立刻执行的操作,即当html加载完毕后,立刻执行某个方法等。
二、为什么使用window.onload()?
因为JS中的函数方法等需要在HTML文档渲染完成才可以使用,如果没有渲染完成,此时的DOM树是不完整的,这样JS文件就可能报出"undefined"错误。
三、常见的用法:
简单的立刻执行函数,假设一个js中只有一个需要页面加载后,立刻执行的函数
那直接调用,不需要加括号
window.οnlοad=Func;
假设一个js中有多个需要页面加载后,立刻执行的函数,那就如下调用即可,需要加括号
window.οnlοad=function(){
Func1();
Func2();
Func3();
.....
}
但,以上方式也仅仅适用于绑定的函数不是很多的场合
四、window.onload()方法的衍生:
不管你打算在页面加载完毕时执行多少个函数,一百个一千个等,它都可以应付自如,使用一个函数addLoadEvent,它是由Simon Willison(详见 http://simon.incutio.com)编写的,它只有一个参数---需要执行的函数名。
function addLoadEvent(func){
var oldοnlοad=window.onload;
if(typeof window.onload!='function'){
window.οnlοad=func;
}else{
window.οnlοad=function(){
oldonload();
func();
}
}
}
上面addLoadEvent函数执行的操作含义是:
1.把现有的window.onload事件处理函数的值存入变量oldonload。
2.如果在这个处理函数上还没有绑定的任何函数,则使用window.οnlοad=func直接调用,不需要加括号
3.如果在这个处理函数上已经绑定了一些函数,就把新的函数追加到现在指令的末尾。
调用该函数时直接将需要执行的函数名称(不需要加括号)当作参数即可,例如:
addLoadEvent(Func1);
addLoadEvent(Func2);
addLoadEvent(Func3);