ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery 1.8 .live() コードを jQuery 2.1 .on() メソッドに移行するにはどうすればよいですか?

jQuery 1.8 .live() コードを jQuery 2.1 .on() メソッドに移行するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-08 19:26:11
オリジナル
742 人が閲覧しました

How Do I Migrate My jQuery 1.8 .live() Code to the jQuery 2.1 .on() Method?

jQuery 1.8 .live() から 2.1 への移行

jQuery 1.9 では、イベント処理に大幅な変更が導入されました。 .live() メソッド。このガイドでは、変更点について説明し、コードを .live() から新しい .on() 構文に移行する方法の例を示します。

.live() の削除について

jQuery 1.9 では、パフォーマンスと効率の制限により .live() が削除されました。 .live() は、イベントがまだ存在していない場合でも、将来の DOM 要素にイベントをバインドします。これにより、不要なイベント リスナーやパフォーマンスの問題が発生する可能性があります。

.on() への移行

.live() の代替として推奨されるのは .on( )。ただし、.on() には異なるパラメータがあることに注意することが重要です。

元の .live() 構文:

.live(events, function)
ログイン後にコピー

新しい .on( )構文:

.on(eventType, selector, function)
ログイン後にコピー

移行例 1: 子要素へのバインド

前 (.live() を使用):

$('#mainmenu a').live('click', function)
ログイン後にコピー

後(.on() を使用):

$('#mainmenu').on('click', 'a', function)
ログイン後にコピー

この例では、子要素 (a) が .on() セレクターに移動されます。移行例 2: 親へのバインド要素

前 (.live() を使用):

$('.myButton').live('click', function)
ログイン後にコピー
後 (.on() を使用):

この例では、要素 .myButton が.on() セレクターを使用し、最も近い親要素 (できれば ID 付き) が使用されます。あるいは、$(document) を親要素として使用することもできます。
$('#parentElement').on('click', '.myButton', function)
ログイン後にコピー

追加の移行ヒント

単純に .live() を に置き換えないでください。 on() はパラメーターの変更を考慮せずに実行します。
  • (子) セレクターが指定されていることを確認してください。必要な場合は .on() を使用します。
  • 必要ない場合はセレクターを null に設定します。
  • 詳細については、jQuery の公式ドキュメントと移行ガイドを参照してください。

以上がjQuery 1.8 .live() コードを jQuery 2.1 .on() メソッドに移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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