window.onload和body onload
http://www.itjxue.com 2015-08-06 23:11 来源:未知 点击次数:
昨晚有一段进站滤镜效果失效,
研究发现,某段JS中调用了window.onload = function()属性,同时在页面上又有body onload语句。导致window.onload事件覆盖掉body onload事件。
解决方法:
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);