1

我有这个代码:

var bt_empty = document.getElementById("bt_empty");
if(bt_empty)
  bt_empty.onclick = emptyCart();

但是每次我打开页面时,按钮都会自行触发。我怎样才能避免这种情况?谢谢

4

1 回答 1

6

从 中删除括号emptyCart()

bt_empty.onclick = emptyCart;

通过包含括号,它执行函数,然后将返回值分配给onclick事件,而不是分配实际的函数本身。


包含括号的唯一原因是函数返回一个函数。例如:

function emptyCart(){
    return function(){
        console.log("clicked");
    };
}

bt_empty.onclick = emptyCart();
于 2013-10-21T16:10:02.440 回答