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

  另一种解决方法如下:

  

复制代码 代码如下:

  function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

  window.onload = func;

  } else {

  window.onload = function() {

  oldonload();

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

  个人以为直接使用隐式函数(如:window.onload =function() { t(); b(); c() ;})更快捷,当然使用 addLoadEvent 更professional,各取所好吧!