特定のイベントが発生した後に他のイベントハンドラーが実行されないようにする場合は、2つの方法のいずれかを使用できます。例ではjQueryを使用しますが、これはプレーンJSにも適用されます。
1。 event.preventDefault()
$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
2。 return false
$('a').click(function () {
// custom handling here
return false;
});
イベントの伝播を停止するこれら2つの方法の間に大きな違いはありますか?
私にとってreturn false;
は、メソッドを実行するよりも簡単で、短く、エラーが発生しにくいでしょう。この方法では、大文字小文字の区別、括弧などについて覚えておく必要があります。
また、メソッドを呼び出せるように、コールバックの最初のパラメーターを定義する必要があります。おそらく、このようにすることを避けてpreventDefault
代わりに使用する必要があるいくつかの理由がありますか?より良い方法は何ですか?
preventDefault
は他のハンドラーの実行を妨げないことに注意してください。それstopImmediatePropagation
が目的です。