2016-05-14 143 views
0

之前運行,這是我的代碼:事件點擊按鈕

<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點擊按鈕之前?

+0

'onclick = function(){sum(2,5);}' –

回答

4

那裏發生了什麼,你正在執行的函數,而不是分配給它

這裏是一個解決方案:

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

除了@ NetaMeta的回答,您可以使用Function.prototype.bind()方法從sum函數來創建新功能和前置參數:

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