当前位置: 首页 > 图文教程 > 网络编程 > Javascript > window.onload和body onload

Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
使用JQUERY Tabs插件宿主IFRAMES
jquery 简短右键菜单 多浏览器兼容
JQery 渐变图片导航效果代码 漂亮
HTML node相关的一些资料整理
JavaScript与DropDownList 区别分析
20个非常棒的Jquery实用工具 国外文章
Firefox+FireBug使JQuery的学习更加轻松愉快
firefox firebug中文入门教程 脚本之家新年特别版
firefox插件Firebug的使用教程
javascript addLoadEvent函数说明
javascript getElementsByClassName 和js取地址栏参数
让firefox支持IE的一些方法的javascript扩展函数代码
javascript 多种搜索引擎集成的页面实现代码
Javascript 模拟点击事件(点击链接与html点击) 兼容IE/Firefox
javascript 模拟点击广告
javascript 精确获取样式属性(上)
javascript 精确获取样式属性(下)
javascript 精确获取页面元素的位置
javascript 可控式透明特效实现代码

Javascript 中的 window.onload和body onload


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 189 ::
收藏到网摘: n/a

昨晚有一段进站滤镜效果失效,
研究发现,某段JS中调用了window.onload = function()属性,同时在页面上又有body onload语句。导致window.onload事件覆盖掉body onload事件。

解决方法:

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

  1. if (document.all){
  2. window.attachEvent('onload',FuncName)
  3. }
  4. else{
  5. window.addEventListener('load',FuncName,false);
  6. }

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

  1.   function myinit()
  2.   {//两个函数合并下
  3.   init();
  4.   myfun();
  5.   }
  6.   window.onload=myinit;

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

  1. function addLoadEvent(func){
  2. var oldonload=window.onload;
  3. if(typeof window.onload!='function'){
  4. window.onload=func;
  5. }else{
  6. window.onload=function(){
  7. oldonload();
  8. func();
  9. }
  10. }
  11. }
  12. //添加要加载执行的事件:
  13. addLoadEvent(aaa);
  14. addLoadEvent(bbb);