window.onload,方法在项目中经常被使用,用法如下:

function func(){alert(“window的Onload事件被触发啦!”);return;}

window.onload=func;

或者如下:

window.onload=function(){alert(“window的Onload事件被触发啦!”);return;}

 

1.问题:

但window.onload 不能同时加载多个函数。比如:

function t(){

alert(“t”)

}

function b(){

alert(“b”)

}

window.onload =t ;

window.onload =b ;

后面会把前面的覆盖,上面代码只会输出 b。

 

2.解决方法

方法一:

写一个总的函数调用需要触发的函数

window.onload =function() { t();  b(); }

方法二:

写一个方法

使用addLoadEvent(func)

使用如下:

function t(){

alert(“t”)

}

function b(){

alert(“b”)

}

function c(){

alert(“c”)

}

function addLoadEvent(func) {

var oldonload = window.onload;

if (typeof window.onload != ‘function’) {

window.onload = func;

} else {

window.onload = function() {

oldonload();

func();

}

}

}

addLoadEvent(t);

addLoadEvent(b);

addLoadEvent(c);

//等价于  window.onload =function() { t();  b(); c() ;}

发表回复