js window.onload 加载多个函数

来源:互联网 发布:php模拟登录教务处 编辑:程序博客网 时间:2024/05/23 01:19

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

另一种解决方法如下:

代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 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("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 更专业。
0 0
原创粉丝点击