[解決済み] event.preventDefault() vs. return false
質問
あるイベントが発生した後に、他のイベントハンドラが実行されないようにしたい場合、2つのテクニックのうちの1つを使用することができる。例では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
その代わりに?何かいい方法はないでしょうか?
どのように解決するのですか?
return false
から
をjQueryのイベントハンドラ内で使用します。
を呼び出すのと同じです。
e.preventDefault
と
e.stopPropagation
を渡すと
jQuery.Eventオブジェクト。
e.preventDefault()
を指定すると、デフォルトのイベントが発生しないようになります。
e.stopPropagation()
はイベントがバブリングするのを防ぎ
return false
はその両方を行います。この動作は
通常
(非jQuery)イベントハンドラでは、特に。
return false
が行います。
ない
は、イベントがバブリングアップするのを止めます。
出典 ジョン・レシグ
hrefクリックをキャンセルするために、"return false"よりも event.preventDefault() を使用することの利点は何ですか?
関連
-
Vueの要素ツリーコントロールに破線を追加する説明
-
Vueにシンプルなメモ帳機能を実装
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vueの補間表現とv-textディレクティブの違いについて
-
[解決済み】React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
-
[解決済み] テスト
-
[解決済み】event.stopPropagationとevent.preventDefaultの違いは何ですか?
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] JavaScriptで複数の値を返す?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vue+ElementUIによる大規模なフォームの処理例
-
Vueにシンプルなメモ帳機能を実装
-
[解決済み] テスト
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。