单击按钮前的事件 运行

Event run before click button

这是我的代码:

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

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

这里有一个解决方案:

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

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

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