A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王海舟 中级黑马   /  2012-9-2 08:46  /  1842 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王海舟 于 2012-9-2 08:52 编辑

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function initEvent() {
            var inputs = document.getElementsByTagName("input");
            for (var i = 0; i < inputs.length; i++) {
                var input = inputs;
                input.onclick = btnClick;
            }
        }
        function btnClick() {
            var inputs = document.getElementsByTagName("input");
            for (var i = 0; i < inputs.length; i++) {
                var input = inputs;
                if (input == window.event.srcElement) {
                    input.value = "呜呜呜";
                }
                else {
                    input.value = "哈哈哈";
                }
            }
        }
    </script>
</head>
<body>
<input type="button" value="神游中" />
<input type="button" value="神游中" />
<input type="button" value="神游中" />
<input type="button" value="神游中" />
<input type="button" value="神游中" />
<input type="button" value="神游中" />
</body>
</html>

在以上代码中被标注为红色的部分:input.onclick = btnClick;
为什么不是input.onclick = btnClick();即为什么没有括号呢?

3 个回复

倒序浏览
语法就是这样定义的
回复 使用道具 举报
input.onclick = btnClick;
其中onclick是作为一个事件,而事件机制的内部包含的是委托链,也就是说它接收的应该是方法的地址(函数指针)。如果这么理解的话,这里的确应该是btnClick,而不是btnClick()。
但是,在很多javaScript代码中,经常出现诸如:<input type="button" onclick="btnClick()" />这种形式,这里的onclick也是一个事件呀,为什么它接收的是一个方法的返回值(btnClick()),而不是一个方法的地址呢(btnClick)?
回复 使用道具 举报
李杰 发表于 2012-9-2 09:54
语法就是这样定义的

input.onclick = btnClick;
其中onclick是作为一个事件,而事件机制的内部包含的是委托链,也就是说它接收的应该是方法的地址(函数指针)。如果这么理解的话,这里的确应该是btnClick,而不是btnClick()。
但是,在很多javaScript代码中,经常出现诸如:<input type="button" onclick="btnClick()" />这种形式,这里的onclick也是一个事件呀,为什么它接收的是一个方法的返回值(btnClick()),而不是一个方法的地址呢(btnClick)?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马