事件在单击按钮之前运行

时间:2016-05-14 16:13:49

标签: javascript dom simple-html-dom

这是我的代码:

<body>
    <button id="mybtn">Click Me!</button>
     <script>
         document.getElementById("mybtn").onclick = sum(2,5);
        function sum(a,b) {
            document.getElementById("x").innerHTML = a + b;
        }
    </script>
</body>

为什么文档在点击按钮之前显示7?

2 个答案:

答案 0 :(得分:4)

那里发生的事情是你正在执行该功能而不是分配它

这是一个解决方案:

document.getElementById("mybtn").onclick = function(){ sum(2,5) };

答案 1 :(得分:0)

除了@ NetaMeta的答案,您还可以使用Function.prototype.bind()方法从sum函数创建新函数并添加参数:

document.getElementById("mybtn").onclick = sum.bind(null, 2, 5);