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 に答える