在html中使用window.onload和onload的区别

 我来答
就烦条0o
推荐于2017-11-29 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
在html页面中某段js中调用了window.onload = function test1(){},同时在页面上又有<body onlocad="test2();">语句,
这将会导致window.onload事件覆盖body onload事件,导致body onload事件无效.

解决方法:
第一:attachEven给onload添加所需运行的函数
if(document.all){
  window.attachEvent('onload',FuncName)
}else{
  window.addEventListener('load',FuncName,false);
}
第二:把两个初始化函数再组成一个新的函数
function init(){}
function myfun(){}
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);
xsmqy
2017-11-29
知道答主
回答量:10
采纳率:50%
帮助的人:3.2万
展开全部
前面这些答案 都扯到body上去 题主的问题只是单纯问 这两种写法有没有区别。
很明显 没有任何区别。
直接写onload 和 写window.onload 没有任何区别 因为window是默认的 就好alert() 和 window.alert()没有任何区别 一个道理。 alert()是window.alert()的简写 同样前面不加任何东西直接写onload 其实系统已经帮你默认加了window.了
<script>
window.onload=function(){alert(111);}
</script>
上面这个 和 下面这个 没有任何区别的

<script>
onload=function(){alert(111);}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a3476012
2016-10-18 · TA获得超过1268个赞
知道小有建树答主
回答量:484
采纳率:87%
帮助的人:133万
展开全部
一个是页面加载的时候(window.onload);
另一个是页面加载完成(onload);
举个例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<script type="text/javascript">
function aa(){
alert("onload");
}
window.onload = function(){
alert('window.onload');
}
</script>
</head>
<body onload="aa()">
<div></div>
</body>
</html>

测试一下就知道,window.onload都会比load快,因为在压面加载的过程中就开始执行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鈾氶瓏鈾
2016-11-17 · 知道合伙人软件行家
鈾氶瓏鈾
知道合伙人软件行家
采纳数:718 获赞数:1337

向TA提问 私信TA
展开全部
在html页面中某段js中调用了window.onload = function test1(){},同时在页面上又有<body onlocad="test2();">语句,
这将会导致window.onload事件覆盖body onload事件,导致body onload事件无效.
解决方法:
第一:attachEven给onload添加所需运行的函数
if(document.all){
  window.attachEvent('onload',FuncName)
}else{
  window.addEventListener('load',FuncName,false);
}
第二:把两个初始化函数再组成一个新的函数
function init(){}
function myfun(){}
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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
No_Face_
2017-03-04 · 超过22用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:45.7万
展开全部
window.onload是指页面加载时执行的动作
直接使用onload就等于 body.onload 指的是页面加载完成后执行的动作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式