javascript调用问题

1:
<script>
    $(function () {
        var $butObj = $("#butObj");
        $butObj.click(function () {
            var $uname = $("#userName");
            var inputName = $uname[0];
            alert(inputName.value);
        });
    })
</script>
2:
    <script>
        var $butObj = $("#butObj");
        $butObj.click(function () {
            var $uname = $("#userName");
            var inputName = $uname[0];
            alert(inputName.value);
        });
</script>

<body>
    姓名:
    <input type="text" id="userName">
    <input type="button" id="butObj" value="提交">
</body>
为什么第一种方式可以触发click事件,第二种为什么不会触发click事件
阅读 1.5k
2 个回答

html是顺序执行的 你脚本执行前dom还没有渲染出来所以第二种没有绑定点击时间。jq的美元方法其实和onload很像 就是dom渲染完才会执行 所以第一种可以找到dom节点并绑定点击事件

你这两种不是一样的么,是我视力不好么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题