虽然这两种写法运行效果是一样的,但是其运行的条件与时间顺序是不同的.第一句代码是当浏览器加载到这句语句时就运行了这句,而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>
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>
解决方案 »
- 求一款开源!免费。的web前端UI框架。最好是基于jquery的
- firebug怎么查看动态绑定事件
- 【textarea】 JS来判断这里面的最大输入字符数量
- 鼠标经过显示alt或title内容,关于IE和Firefox中javascript的
- javascript 获取它页数据急
- css 问题放这边提问了 css样式冲突怎么办
- 表单提交问题!
- 招聘javascript程序员,工作地点青岛,顶者有分!
- 如何做到<a href="a.asp" onclick="dosomething()">xxx</a>中连接和事件互不干扰?
- 再请教:就用marquee这个标签有没有可能把滚动条弄出来呢?
- 怎样把这局vb程序转成javascript?
- <A href="" onclick="window.back();">back</A>错误
http://expert.csdn.net/Expert/topic/1211/1211895.xml?temp=.7868463
能否帮我解决以下,多谢了!