Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum funktioniert .live() von jQuery nach dem Upgrade auf Version 2.1 nicht und wie kann ich das Problem beheben?

Mary-Kate Olsen
Freigeben: 2024-11-23 18:05:17
Original
620 Leute haben es durchsucht

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

jQuery .live() veraltet

Problem:

Nach dem Upgrade von jQuery auf In Version 2.1 funktioniert die .live()-Funktionalität nicht mehr, was zu einem „TypeError: „$(...).live ist keine Funktion“-Fehler.

Ursache:

Die .live()-Methode war in jQuery Version 1.9 veraltet und wurde anschließend entfernt in Version 2.1 aufgrund von Leistungs- und Architekturproblemen.

Lösung: Migration nach .on()

Um die Funktionalität von .live() zu ersetzen, empfiehlt jQuery die Migration auf die .on()-Methode. Es ist jedoch wichtig zu beachten, dass sich die Syntax für .on() von .live() unterscheidet.

Migrationsanleitung:

  1. Live ersetzen Ereignisse mit benannten Ereignistypen: .live('click', function) wird zu .on('click', selector, Funktion).
  2. Verschieben Sie den untergeordneten Selektor zum .on()-Selektor: .live('.myElement', function) wird zu .on('click', '.myElement', Funktion).
  3. Stellen Sie sicher, dass sich das Zielelement innerhalb eines übergeordneten Delegationselements befindet:Wählen Sie ein geeignetes übergeordnetes Element für den untergeordneten Selektor, vorzugsweise mit einem AUSWEIS. Wenn keines verfügbar ist, verwenden Sie $(document) als übergeordnetes Delegationselement.

Migrationsbeispiele:

Beispiel 1:

Before: $('#mainmenu a').live('click', function)
After: $('#mainmenu').on('click', 'a', function)
Nach dem Login kopieren

Beispiel 2:

Before: $('.myButton').live('click', function)
After: $('#parentElement').on('click', '.myButton', function) or $(document).on('click', '.myButton', function) if no suitable parent is known
Nach dem Login kopieren

Zusätzliche Ressourcen:

  • jQuery – wie man die „on()“-Methode anstelle von „live()“ verwendet ”?
  • jQuery 1.9 Migrationsleitfaden

Das obige ist der detaillierte Inhalt vonWarum funktioniert .live() von jQuery nach dem Upgrade auf Version 2.1 nicht und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage