日期:2014-05-16  浏览次数:20367 次

js window.onload 加载多个函数和追加函数

js window.onload 加载多个函数和追加函数

平时做项目 经常需要使用window.onload,

用法如下:

function func(){alert("this is window onload event!");return;}?

window.onload=func;

或者如下:

window.onload=function(){alert("this is window onload event!");return;}

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

比如:
function t(){
alert("t")
}
function b(){
alert("b")
}
window.onload =t ;
window.onload =b ;
后面会把前面的覆盖,上面代码只会输出 b。

此时可用如下方法解决:

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

另一种解决方法如下:

?

复制代码
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->?function?addLoadEvent(func)?{
??
var?oldonload?=?window.onload;//得到上一个onload事件的函数
??if?(typeof?window.onload?!=?'function')?{//判断类型是否为'function',注意typeof返回的是字符串
????window.onload?=?func;
??}?
else?{??
????window.onload?
=?function()?{
??????oldonload();
//调用之前覆盖的onload事件的函数---->由于我对js了解不多,这里我暂时理解为通过覆盖onload事件的函数来实现加载多个函数
??????func();//调用当前事件函数
????}
??}
}

//(完整示例)使用如下:

function?t(){
alert(
"t")
}
function?b(){
alert(
"b")
}
function?c(){
alert(
"