1. ホーム
  2. javascript

[解決済み] jQuery 1.9 .live() は関数ではありません。

2022-02-17 04:29:39

質問

最近、jQueryを1.8から2.1にアップデートしました。その際、突然 .live() が動作しなくなる。
エラーが表示される TypeError: $(...).live is not a function .

の代わりに使えるメソッドはありますか? .live() ?

解決方法は?

jQuery .live() はバージョン 1.9 以降で削除されました。

つまり、バージョン1.8以前からアップグレードする場合、以下の移行ガイドに従わないと、物事が壊れることに気がつくでしょう。単純に .live().on() !


検索と置換を始める前にお読みください。

について クイック/ホットフィックス をライブサイトで使用することができます。 しない キーワードを置き換えるだけで liveon ,
として パラメータが異なる !

.live(events, function)

にマッピングする必要があります。

.on(eventType, selector, function)

(子)セレクタは非常に重要です! 何らかの理由でこれを使用する必要がない場合は、これを null .


移行例1:

の前にあります。

$('#mainmenu a').live('click', function)

の後、子要素( a ) を .on() セレクタを使用します。

$('#mainmenu').on('click', 'a', function)


移行例2:

の前にあります。

$('.myButton').live('click', function)

の後に、要素( .myButton ) を .on() セレクタを使用して、最も近い親要素 (できれば ID 付き) を探します。

$('#parentElement').on('click', '.myButton', function)

親として何を入れたらいいのかわからない場合。 body は常に動作します。

$('body').on('click', '.myButton', function)


こちらもご覧ください。