JQueryでカスタムイベントバブリングを停止するにはどうすればよいですか?
たとえば、私はこのコードを持っています:
$('.myclass').bind('amodaldestroy', function(){
....does something.....
})
バブリング時に最初に見つかった要素で一度だけトリガーすることを許可するにはどうすればよいですか? return false
を追加できますか?
$('.myclass').bind('amodaldestroy', function(){
....does something.....
return false;
})
JQueryの ドキュメント によると:
$('myclass').bind('amodaldestroy'), function(event) {
....does something....
event.stopPropagation();
});
event.stopPropagation();
を使用します
_$('.myclass').bind('amodaldestroy', function(e){
e.stopPropagation();
});
_
_return false
_を使用することもできますが、falseを返すことも event.preventDefault();
を呼び出すという点で2つには微妙な違いがあります。
IE <9:
$(".element").click(function(e)
{
var event = e || window.event;
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);
});
これはそれほど素晴らしいことではないかもしれませんが、
return false;
return false
はstopPropagation
とevent.preventDefault...
の両方を実行します
1つだけ必要な場合は、選択に基づいて選択できます
これを読んでください、これはSOのみから
return false
は、事実上preventDefaultとstopPropogationの両方です。
preventDefault
はデフォルトのイベントの発生を防ぎ、stopPropogatio
nはイベントのバブリングを防ぎ、falseを返すことで両方を行います。