[解決済み] jQuery .live() と .on() の違いは何ですか?
2023-05-24 12:07:29
質問
新しいメソッド
.on()
を置き換える新しいメソッドが jQuery 1.7 に追加されました。
.live()
に置き換わっています。
両者の違いと、この新しい方法を使うことの利点を知りたいのです。
どのように解決するのですか?
でかなり明確になっています。
ドキュメント
を使いたくない理由は明らかです。また、Felix が述べたように
.on
は、イベントを添付するための、より合理的な方法です。
.live()メソッドの使用は、もはや推奨されません。 メソッドの使用は、もはや推奨されません。 を使用することは推奨されなくなりました。特に、以下の問題が .live()を使用すると、次のような問題が発生します。
- を呼び出す前に、jQueryはセレクタによって指定された要素を取得しようとします。
.live()
メソッドを呼び出す前に、セレクタで指定された要素を取得しようとしますが、これは メソッドを呼び出そうとします。- メソッドの連結はサポートされていません。例えば
$("a").find(".offsite, .external").live( ... );
は ではなく であり、期待通りに動作しません。- すべての
.live()
イベントはdocument
要素に取り付けられると、イベントは最も長く、最も遅い イベントは処理されるまでに最も長く遅い経路をとります。- 呼び出し
event.stopPropagation()
を呼び出しても、ドキュメント内の下位にあるイベントハンドラを停止させる効果はありません。 に伝搬しています。document
.- は
.live()
メソッドは、驚くような方法で他のイベントメソッドと相互作用します、例.$(document).unbind("click")
はすべてのクリックハンドラを削除します。 への呼び出しによって付けられた.live()
!
関連
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] .prop() vs .attr()
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] jQueryのdocument.createElementと同等?
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQueryでドロップダウンリストの選択値を変更する
-
[解決済み] jQuery .onとhoverの使い分けは可能ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryでdata属性で要素を選択する
-
[解決済み] jQuery.ajaxでmultipart/formdataを送信する。
-
[解決済み] jQuery: テーブルの行数を数える
-
[解決済み] JSONPとは何か、素人目にもわかるように説明してくれる人はいませんか?[重複)。
-
[解決済み] jQueryを使用してDropDownListの値を設定するにはどうすればよいですか?
-
[解決済み] jQuery .onとhoverの使い分けは可能ですか?
-
[解決済み] jQueryで、ある要素を他の要素に対して相対的に配置するには?
-
[解決済み] jQuery append() - 追記された要素を返す
-
[解決済み] jQueryで<input type="text">のonchangeを実装するには?
-
[解決済み] on` と `live` や `bind` はどう違うのですか?