加载完毕时事件触发器onload事件
onload事件绑定
网页加载完毕是会触发一个onload事件,这个事件与window对象相关联。
window.onload = function(){
... ...
}
但假设有两个及两个以上函数时,不能写成:
function a(){
... ...
}
function b(){
... ...
}
window.onload = a;
window.onload = b;
若将它们逐一绑定到onload事件上,它们当中只有最后一个及b才会被实际执行。
为了避免这种情况我们可以使用以下方法:
window.onload = function(){
a();
b();
}
这时两个方法都会实际执行。
外加一个从《JavaScript DOM 编程艺术》这本书上看到的一个队这个问题的优化:
function addLoadEvent(func){
var oldonload = window.onload; //把现有的的window.onload 事件处理函数的值存入变量oldonload。
if(typeof window.onload != 'function'){ //若window.onload函数上还没有绑定任何函数,就把这个函数直接添加给它
window.onload = func;
}else{ //如果这个处理函数已经绑定了一些函数,就把新函数追加到现有函数的末尾
window.onload = funcrtion(){
oldonload();
func();
}
}
}
//因此想把之前的a和b函数添加到window.onload处理函数时:
addLoadEvent(a);
addLoadEvent(b);