手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js window.onload 加载多个函数和追加函数详解
js window.onload 加载多个函数和追加函数详解
摘要:平时做项目经常需要使用window.onload,用法如下:functionfunc(){alert("thisiswindowonload...

平时做项目 经常需要使用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;//得到上一个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 更professional,各取所好吧!

JS window.onload追加函数:

复制代码 代码如下:

<script>

if(window.attachEvent)//IE:如果浏览器中存在window.attachEvent函数则使用window.attachEvent函数,判断是否是IE还可以使用:if (document.all){//..}

window.attachEvent("onload",function() {alert("add method");});

else //FireFox

window.addEventListener("load",function() {alert("add method");},true);

</script>

运行,js中alert弹出消息,问题解决。

============相关资料================

attachEvent 将指定函数绑定到事件,以便每当该事件在对象上触发时都调用该函数。

Internet Explorer 从 5.0 开始提供了一个 attachEvent 方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent 对于目前的 Opera 也适用。但是 Mozilla/Firefox 并不支持这个方法。但是它支持另一个 addEventListener 方法,这个方法跟 attachEvent 差不多,也是用来给一个事件指派多个处理过程的。但是它们指派的事件有些区别,在 attachEvent 方法中,事件是以 “on” 开头的,而在 addEventListener 中,事件没有开头的 “on”,另外 addEventListener 还有第三个参数,一般这个参数指定为 false 就可以了。

【js window.onload 加载多个函数和追加函数详解】相关文章:

Javascript中Date类型和Math类型详解

jQuery zTree加载树形菜单功能

js中跨域方法原理详解

JavaScript判断图片是否已经加载完毕的方法汇总

音乐播放用的的几个函数

JSON字符串和对象之间的转换详解

javascript瀑布流布局实现方法详解

javascript嵌套函数和在函数内调用外部函数的区别分析

JavaScript中eval函数的问题

浅析Javascript匿名函数与自执行函数

精品推荐
分类导航