js window.onload 加载多个函数的两种方法

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() ;}

posted @ 2009-12-07 16:18  溪水云天  阅读(4505)  评论(0编辑  收藏  举报