js window.onload 加载多个函数
平时做项目 经常需要使用window.onload,
用法如下:
function func(){alert("this is window onload event!");return;}
window.οnlοad=func;
或者如下:
window.οnlοad=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,各取所好吧!方案一 不能运行时添加您所在的函数,而方案是可以的,这就是方案二的灵活之处,如果你说自己写的代码以后都不会去修改或是加什么功能的话,那你也是可以选择方案一的!推荐用方案二!呵呵
(转载 http://www.cnblogs.com/Franks_blog/archive/2009/11/02/1594561.html)
珍藏多年的搜黄抠妹版软件-男人必备,今天拿出来分享要的速度: