ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery 1.7 .on()vs .live()レビュー

jQuery 1.7 .on()vs .live()レビュー

William Shakespeare
リリース: 2025-03-01 08:31:09
オリジナル
190 人が閲覧しました

jQueryの.on()および.off()メソッド:包括的なガイド

この記事では、jQueryの

および.on()イベントハンドラーを調査し、それらを現在延長された.off()メソッドと比較します。 2011年のjQueryサミットでのAdam Sontagの勧告は、.live()およびを採用し、大幅な改善を強調しました。機能と違いを掘り下げましょう。.on() .off()

jquery

(非推奨).live()

メソッドは、イベントハンドラーを動的に追加されたDOM要素に添付する能力が一度称賛されたことを推奨しなくなりました。 その制限には、次のものが含まれます。

.live()

    パフォーマンス:
  1. を適用する前に要素を取得することは、特に大きなドキュメントでは非効率的です。 チェーン:.live()メソッドチェーンはサポートされていません(例えば、
  2. は無効です)。
  3. イベントの伝播:$("a").find(".offsite, .external").live(...)イベントは、可能な限り長いパスを移動し、ハンドリングが遅くなります。
  4. は、下位レベルのハンドラーが発火しないようにするのに効果的ではありません。
  5. event.stopPropagation()相互作用:
  6. すべてのunbind()を削除しますをクリックして、潜在的に予期しない動作を引き起こす可能性があります。 $(document).unbind("click") .live()
jquery

jQuery 1.7  .on() vs .live() Review

イベントハンドラーを選択した要素に添付し、既存の要素と将来の要素の両方を処理します。 .on()

.on()重要な違い:

jQuery 1.7  .on() vs .live() Review jQuery 1.7  .on() vs .live() Review

機能:.live().on()レベルでイベントを添付しますが、

は、指定された祖先要素でより正確なイベント委任を可能にします。
  • 使用法:コアの違いは、パラメーターの順序と.live()にセレクターパラメーターがないことにあります。 document .on()
  • パフォーマンス:.live()さまざまなパフォーマンスベンチマークで示されているように、多くの場合、3または4の係数を大幅に上回ります。
$(selector).live(events, data, handler);                // jQuery 1.3+ (Deprecated)
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+ (Deprecated)
$(document).on(events, selector, data, handler);        // jQuery 1.7+
ログイン後にコピー
  • jquery .on() .off()イベントハンドラーを削除して、.on()に対応するものを提供します。 これは、.unbind()と同様に機能し、後方互換性を維持します。 jquery 1.7以降では、.unbind()は本質的に.off()。のエイリアスです。

    .bind()および.on()

    jquery 1.7以降では、.bind().on()

    >.live() .on()への移行

    に置き換えます。 変更されたパラメーターの順序に注意してください $(selector).live(event, data, function)$(document).on(event, selector, data, function)よくある質問(FAQ)

    元のテキストに記載されているFAQセクションはすでに包括的であり、および

    に関連する重要な違い、移行戦略、およびパフォーマンスの考慮事項に対処しています。 ここでそれを再現する必要はありません。

    .live().on()結論

    から

    および

    へのシフトは、jQueryイベント処理における重要なアップグレードです。 .live()優れたパフォーマンス、柔軟性、保守性を提供するため、現代のjQuery開発に適した選択肢になります。

以上がjQuery 1.7 .on()vs .live()レビューの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート