我有以下代码:
var bt_empty = document.getElementById("bt_empty");
if(bt_empty)
bt_empty.onclick = emptyCart();
但是每次我打开页面时,按钮都会触发。我该如何避免呢?
谢谢
最佳答案
从emptyCart()
删除括号:
bt_empty.onclick = emptyCart;
通过包含括号,它将执行函数,然后将返回值分配给
onclick
事件,而不是分配实际的函数本身。包含括号的唯一原因是该函数返回一个函数。例如:
function emptyCart(){
return function(){
console.log("clicked");
};
}
bt_empty.onclick = emptyCart();