2017-03-07 2 views
1

DOMの入力をクリックすると実行される関数があります。関数がそれを承認するまで要素のチェックを止めたい。私はe.preventDefault();またはevent.preventDefault();を使ってこれをしようとしていますが(何か違いはありますか?)、私は成功していません。何が間違っていますか?より多くのパラメータで関数のpreventDefault?

これはpreventDefault-partのないコードです。

$(document).on("click","[data-item]", function() { 
    cart.updateCart(this, event); 
}); 

cart.updateCart = function(target, event) { 
    event.preventDefault(); 
    console.log(event); // returns MouseEvent -- is this even the correct "event" ? 
    // do stuff and perhaps check the input element 
} 

私はこれがどのように働くか、私は "取得" ではないと思う:

$(document).on("click","[data-item]", function() { 
    cart.updateCart(this); 
}); 

cart.updateCart = function(target) { 
    // do stuff and perhaps check the input element 
} 

は、私が働いていないされ、これを試してみました。おそらく、誰かがこの作品の仕組みや私が間違っていることを説明できますか?

答えて

0

eventは、クリックハンドラに渡される最初のパラメータにする必要があります。だからあなたのコードは本当にこのようにする必要があります。:の詳細については、既読を防ぐことができます。

+0

Ahh ... click関数はイベントオブジェクトを提供する必要があります。ありがとう! –

関連する問題