Javascript 单击按钮之前运行事件

Javascript 单击按钮之前运行事件,javascript,dom,simple-html-dom,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;

这是我的代码:

<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>

点击我!
document.getElementById(“mybtn”).onclick=sum(2,5);
函数和(a,b){
document.getElementById(“x”).innerHTML=a+b;
}

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

那里发生了什么?您正在执行函数而不是分配它

以下是一个解决方案:

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

这里发生了什么?您正在执行函数,而不是分配它

以下是一个解决方案:

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

除了@NetMeta的答案外,您还可以使用方法从
sum
函数和前置参数创建新函数:

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

除了@NetMeta的答案外,您还可以使用方法从
sum
函数和前置参数创建新函数:

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