张寿海
贫民
贫民
  • 最后登录2016-04-25
  • 发帖数2
阅读:9110回复:2

[javascript]JS中执行顺序问题,请高手解答

楼主#
更多 发布于:2016-04-25 10:33

<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就可以被执行。 这是为什么呢 ????求解释
doubleyong
管理员
管理员
  • 最后登录2025-10-18
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
沙发#
发布于:2016-04-25 21:08
这里有三个问题,第一个onload事件与html元素加载的一个顺序问题。 第二个<script>标签放置位置的问题,第三个,变量的作用域问题。楼主,可以去了解下,这三个问题
知识需要管理,知识需要分享
张寿海
贫民
贫民
  • 最后登录2016-04-25
  • 发帖数2
板凳#
发布于:2016-04-25 10:35
求大神解释,我知道是顺序问题,我想了解具体为什么会这样情况,还请大牛明示
游客


返回顶部

公众号

公众号