私はidとクラスセレクタと、いくつかの要素のためのイベントハンドラをクリックしていますidセレクタのjQueryイベントハンドラをクラスセレクタでオーバーライドするにはどうすればよいですか?
$(function() {
$("#cancelOrderLink").click(function() {
if (confirm("If you continue, all items will be removed " +
"from your cart. This action cannot be undone. Continue " +
"and empty cart?"))
$("form#clearCartForm").submit();
});
$(".updateItemLink").click(function(){
$(this).closest("form").submit();
})
});
はしかし、私は、要素が特定のクラス名を持っている場合にトリガされることから、これらのハンドラを防ぐためのロジックを追加したい:
$(function() {
$(".superUser").click(function() {
$("#message").html("This action is not allowed when acting as a Super User.<br />");
return false;
});
});
最初のスニペットのハンドラを2番目のスニペットで上書きするにはどうすればよいですか?
あなたが必要とするものを考えてください。 stopPropagationはまさに必要なものです。そのイベントのバブルをそれ以上放棄したくない場合、他のものがfalseを返す場合は、伝播を停止するだけでなく(https://github.com/jquery/jquery/blob /2.1.1/src/event.js#L393-L396)はこのシナリオでは必要ありません。 (コールバックの実行も停止します)このリンクを読む:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/! –