ホームページ > ウェブフロントエンド > jsチュートリアル > バージョン 2.1 にアップグレードした後、jQuery の .live() が機能しないのはなぜですか?それを修正するにはどうすればよいですか?

バージョン 2.1 にアップグレードした後、jQuery の .live() が機能しないのはなぜですか?それを修正するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-23 18:05:17
オリジナル
708 人が閲覧しました

Why Doesn't jQuery's .live() Work After Upgrading to Version 2.1, and How Can I Fix It?

jQuery .live() の非推奨

問題:

jQuery を次のようにアップグレードした後バージョン 2.1 では、.live() 機能が動作しなくなったため、 「TypeError: $(...).live は関数ではありません」エラーが発生しました。

原因:

.live() メソッドは jQuery で非推奨になりましたバージョン 1.9 でしたが、その後パフォーマンスとアーキテクチャ上の懸念からバージョン 2.1 で削除されました。

解決策: .on() への移行

.live() の機能を置き換えるために、jQuery では .on() メソッドに移行することをお勧めします。ただし、.on() の構文は .live() とは異なることに注意することが重要です。

移行ガイド:

  1. Replace live名前付きイベント タイプのイベント: .live('click', function) は .on('click', selector, function).
  2. 子セレクターを .on() セレクターに移動します: .live('.myElement', function) は .on('click', '.myElement ', function).
  3. ターゲット要素が委任の親内にあることを確認します: 適切な親を選択してください子セレクターの要素 (できれば ID 付き)。利用可能なものがない場合は、委任の親として $(document) を使用します。

移行例:

例 1:

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

例2:

Before: $('.myButton').live('click', function)
After: $('#parentElement').on('click', '.myButton', function) or $(document).on('click', '.myButton', function) if no suitable parent is known
ログイン後にコピー

追加リソース:

  • jQuery - 「live()」の代わりに「on()」メソッドを使用する方法”?
  • jQuery 1.9 移行ガイド

以上がバージョン 2.1 にアップグレードした後、jQuery の .live() が機能しないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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