Heim >Web-Frontend >js-Tutorial >Wie migriere ich meinen jQuery 1.8 .live()-Code zur jQuery 2.1 .on()-Methode?

Wie migriere ich meinen jQuery 1.8 .live()-Code zur jQuery 2.1 .on()-Methode?

Linda Hamilton
Linda HamiltonOriginal
2024-12-08 19:26:11743Durchsuche

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

Migration von jQuery 1.8 .live() auf 2.1

jQuery 1.9 führte wesentliche Änderungen an der Ereignisbehandlung ein, einschließlich der Entfernung von die .live()-Methode. In diesem Handbuch werden die Änderungen erläutert und Beispiele für die Migration Ihres Codes von .live() auf die neue .on()-Syntax bereitgestellt.

Grundlegendes zum Entfernen von .live()

jQuery 1.9 hat .live() aufgrund seiner Leistungs- und Effizienzeinschränkungen entfernt. .live() bindet Ereignisse an zukünftige DOM-Elemente, auch wenn diese noch nicht existieren. Dies kann zu unnötigen Ereignis-Listenern und Leistungsproblemen führen.

Migration zu .on()

Der empfohlene Ersatz für .live() ist .on( ). Es ist jedoch wichtig zu beachten, dass .on() unterschiedliche Parameter hat.

Original .live() Syntax:

.live(events, function)

Neu .on( ) Syntax:

.on(eventType, selector, function)

Migrationsbeispiel 1: Bindung an ein Kind Elemente

Vorher (mit .live()):

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

Nachher (mit .on()):

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

In diesem Beispiel wird das untergeordnete Element (a) in die .on()-Datei verschoben. Selektor.

Migrationsbeispiel 2: Bindung an übergeordnete Elemente

Vorher (mit .live()):

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

Nach (mit .on()):

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

In diesem Beispiel wird das Element .myButton in den .on()-Selektor verschoben und das nächstgelegene übergeordnete Element (vorzugsweise mit einer ID) verwendet. Alternativ können Sie $(document) als übergeordnetes Element verwenden.

Zusätzliche Migrationstipps

  • Ersetzen Sie .live() nicht einfach durch . on() ohne Berücksichtigung der Parameteränderungen.
  • Stellen Sie sicher, dass der (untergeordnete) Selektor in .on() angegeben ist, wenn benötigt.
  • Setzen Sie den Selektor auf null, wenn er nicht erforderlich ist.

Weitere Informationen finden Sie in der offiziellen jQuery-Dokumentation und den Migrationshandbüchern.

Das obige ist der detaillierte Inhalt vonWie migriere ich meinen jQuery 1.8 .live()-Code zur jQuery 2.1 .on()-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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