jQueryの.on()
および.off()
メソッド:包括的なガイド
および.on()
イベントハンドラーを調査し、それらを現在延長された.off()
メソッドと比較します。 2011年のjQueryサミットでのAdam Sontagの勧告は、.live()
および.on()
.off()
(非推奨).live()
.live()
.live()
メソッドチェーンはサポートされていません(例えば、$("a").find(".offsite, .external").live(...)
イベントは、可能な限り長いパスを移動し、ハンドリングが遅くなります。 event.stopPropagation()
相互作用:unbind()
を削除しますをクリックして、潜在的に予期しない動作を引き起こす可能性があります。
$(document).unbind("click")
.live()
イベントハンドラーを選択した要素に添付し、既存の要素と将来の要素の両方を処理します。
.on()
.on()
重要な違い:
機能:.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+
.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 サイトの他の関連記事を参照してください。