精品源码
正文

JS中window.onload=function()冲突解决办法

来源:精品源码 时间:2013/12/20

我们在运用js效果时,有时会遇到JS冲突的事情。下面介绍一个很常见的问题,当然也很容易解决。
window.onload的意思是当页面加载完毕的时候执行。通常把JS脚本放在任意的位置,通过window.onload来执行脚本。但是当同一个页面里出现了两个window.onload=function(){};,就会发现先读的脚本失效了。通常一个页面是只能执行一个window.onload的,这个时候可以通过下面的方法解决:
用window.attachEvent和window.addEventListener。
当某一事件被触发时需要执行某个函数,在IE下可用attachEvent,在FF下则要用addEventListener。
attachEvent()有两个参数,第一个是事件名称,第二个是需执行的函数;
addEventListener()有三个参数,第一个是事件名称,但与IE事件不同的是,事件不带"on",比如"onsubmit"在这里应为"submit",第二个是需执行的函数,第三个参数为布尔值;
案例代码:
if (document.all){
window.attachEvent('onload',函数名)//IE中
}
else{
window.addEventListener('load',函数名,false);//firefox
}
使用上边的脚本就可以解决onload冲突了。

本文链接: http://www.webym.net/zhuanti/thred-1362.html