169it -->


 
当前位置:  Web服务器/前端>javascript

window.onload事件覆盖掉body onload事件(window.onload和html body onload事件冲突)解决办法

 
分享到:
    发布时间:2014-8-11  


     把两段代码分别测试后发现不带括号的window.onload在页面加载后显示了正确的效果。 我想window.onload也相当于一个触发事件,如果函数加了括号那就直接先执行函数,再加载body。而不加括号,则相当于将一个函数当作变...

   把两段代码分别测试后发现不带括号的window.onload在页面加载后显示了正确的效果。 我想window.onload也相当于一个触发事件,如果函数加了括号那就直接先执行函数,再加载body。而不加括号,则相当于将一个函数当作变量赋值到window.onload上,并不立即加载。

window.onload事件覆盖掉body onload事件解决方法代码示例1

attachEvent给onload添加所需运行的函数

if (document.all){
window.attachEvent('onload',FuncName)
}
else{
window.addEventListener('load',FuncName,false);
}

或者把两个初始化函数再组成一个新的函数

  function myinit()
  {//两个函数合并下
  init();
  myfun();
  }
  window.onload=myinit;

另外,见过书上有这样的写法:

function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!='function'){
window.onload=func;
}else{
window.onload=function(){
oldonload();
func();
}
}
}
//添加要加载执行的事件:
addLoadEvent(aaa);
addLoadEvent(bbb);


window.onload事件覆盖掉body onload事件解决方法代码示例2

<script language="javascript" type="text/javascript">   
        function srcollnews() {
            var scrollup = new ScrollText("listcontent");
            scrollup.LineHeight = 60;
            scrollup.Amount = 2;
            scrollup.Start();
        }
        if (document.all) {
            window.attachEvent('onload', srcollnews)
        }
        else {
            window.addEventListener('load', srcollnews, false);
        }
    </script>


本类别最新文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号


-->