|
<script type="text/javascript"> window.onload = function () { alert("我是谁") var bbb = document.getElementById('bnt'); alert(bbb); var xxx = document.getElementsByTagName('input'); alert(xxx.length); xxx[1].checked = true; } bbb.onclick = function () { alter("我是海风") /*为什么这里不输出*/ for (var i = 1; i < xxx.length; i++) { xxx[i].checked = true; } } </script> 效果执行显示。onload 里面的所有函数都可以执行,依次执行出来的是,我是谁,OBject HTMLinput,21 但是这里的onlick 里面的函数并不执行,bbb.onlick系统不执行,但是如果把这个函数放进onload函数中,则bbb.onlick可以全部执行。 如果我把var bbb = document.getElementById('bnt');放在onload的外面定义,依旧无法执行bbb.onlick函数, 只有一种情况,就是bbb.onlick函数放在onload之前并且bbb的定义是最优先的,那么bbb.onclick就可以被执行。 这是为什么呢 ????求解释 |
|
|
沙发#
发布于:2016-04-25 21:08
这里有三个问题,第一个onload事件与html元素加载的一个顺序问题。 第二个<script>标签放置位置的问题,第三个,变量的作用域问题。楼主,可以去了解下,这三个问题
|
|
|