什么事件发生在body的onload之前,就是在html标签都为载入的之前?

locker 2002-11-29 03:02:27
同主题
...全文
420 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
blues-star 2002-11-29
  • 打赏
  • 举报
回复
事件句柄外和function外的代码,都是随下载随执行。
locker 2002-11-29
  • 打赏
  • 举报
回复
具体问题是
http://expert.csdn.net/Expert/topic/1211/1211895.xml?temp=.7868463
能否帮我解决以下,多谢了!
meizz 2002-11-29
  • 打赏
  • 举报
回复
虽然这两种写法运行效果是一样的,但是其运行的条件与时间顺序是不同的.第一句代码是当浏览器加载到这句语句时就运行了这句,而onload事件里加载函数是当所有的HTML代码流全部被加载完毕以后再执行的一个事件,所以第一句代码运行在第二句函数之前.另外,第一句运行的时候,其后面的代码还未被浏览器所加载,所以你对后面的对象进行操作时就会报该对象不存在的错误,因为此时这些代码都还未被浏览器加载,但在执行onload事件时,所有的代码都是已经被加载完毕的,所以在onload对网页的对象进行操作时就不会出错.你可以看到下面这个例子,就可以看出这些的不同.

<script language=javascript>
alert("aaaa");
document.all.txt.value="赋值时会出错";
function cc(){alert("bbbbb");document.all.txt.value="meizz";}
</script>

<body bgcolor=#00ff00 onload=cc()>
<input name=txt>

但是我将这些JS代码放在该对象出现之后,就不会出现错误,原因是在JS语句运行时该对象已经被浏览器加载了.

<body bgcolor=#00ff00 onload=cc()>
<input name=txt>

<script language=javascript>
alert("aaaa");
document.all.txt.value="赋值时会出错";
function cc(){alert("bbbbb");document.all.txt.value="meizz";}
</script>

87,937

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧