Heim > Web-Frontend > js-Tutorial > JQuery 1.7 .on () vs .live () Review

JQuery 1.7 .on () vs .live () Review

William Shakespeare
Freigeben: 2025-03-01 08:31:09
Original
195 Leute haben es durchsucht

jQuery's .on() und .off() Methoden: Eine umfassende Anleitung

In diesem Artikel wird die Ereignishandler von JQuery und .on() untersucht und sie mit der inzwischen vorbereiteten .off() -Methode verglichen. Adam Sontags Empfehlung auf dem JQuery -Gipfel 2011 zur Übernahme von .live() und .on() hob signifikante Verbesserungen hervor. Lassen Sie uns die Funktionen und Unterschiede eintauchen. .off()

jQuery (veraltet) .live()

Die

-Methode, sobald er für die Fähigkeit gelobt wurde, Ereignishandler an dynamisch hinzugefügte DOM -Elemente anzubringen, wird nicht mehr empfohlen. Seine Einschränkungen umfassen: .live()

  1. Leistung: Elemente abrufen, bevor ineffizient ist, insbesondere bei großen Dokumenten. .live()
  2. Ketten: Methodenverkettung wird nicht unterstützt (z. B. ist ungültig). $("a").find(".offsite, .external").live(...)
  3. Ereignisverbreitung: Ereignisse reisen den längsten möglichen Weg, was zu einer langsameren Handhabung führt. ist unwirksam, um zu verhindern, dass Händler auf niedrigerer Ebene feuern. event.stopPropagation()
  4. Wechselwirkung: unbind() entfernt $(document).unbind("click") alle Klicken Sie über angehängt, was möglicherweise ein unerwartetes Verhalten verursacht. .live()

jQuery 1.7  .on() vs .live() Review

jQuery .on()

Fügen Sie Ereignishandler an ausgewählte Elemente hinzu, die sowohl vorhandene als auch zukünftige Elemente bearbeiten. .on()

jQuery 1.7  .on() vs .live() Review jQuery 1.7  .on() vs .live() Review

Schlüsselunterschiede: vs. .live() .on()

  • Funktionalität: Angehängt Ereignisse auf der Ebene .live(), während document eine präzisere Ereignisdelegation auf einem bestimmten Vorfahren ermöglicht. .on()
  • Verwendung: Der Kernunterschied liegt in der Parameterreihenfolge und das Fehlen eines Selektorparameters in : .live()
$(selector).live(events, data, handler);                // jQuery 1.3+ (Deprecated)
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+ (Deprecated)
$(document).on(events, selector, data, handler);        // jQuery 1.7+
Nach dem Login kopieren
  • Leistung: übertrifft signifikant .on(), oft um den Faktor 3 oder 4, wie durch verschiedene Leistungsbenchmarks gezeigt. .live()

jQuery 1.7  .on() vs .live() Review

jQuery .off()

.off() entfernt Ereignishandler und liefert ein Gegenstück zu .on(). Es funktioniert ähnlich wie .unbind(), wobei die Rückwärtskompatibilität beibehalten wird. In JQuery 1.7 und später ist .unbind() im Wesentlichen ein Alias ​​für .off().

.bind() und .on()

In JQuery 1.7 und später ist .bind() ein Alias ​​für .on().

Migration von .live() nach .on()

Ersetzen Sie $(selector).live(event, data, function) durch $(document).on(event, selector, data, function). Beachten Sie die geänderte Parameterreihenfolge.

häufig gestellte Fragen (FAQs)

Der im Originaltext bereitgestellte FAQS -Abschnitt ist bereits umfassend und befasst sich mit den wichtigsten Unterschieden, Migrationsstrategien und Leistungsüberlegungen in Bezug auf .live() und .on(). Es ist nicht nötig, es hier zu reproduzieren.

Schlussfolgerung

Die Verschiebung von .live() zu .on() und .off() ist ein entscheidendes Upgrade bei der Handhabung von JQuery Event. .on() bietet überlegene Leistung, Flexibilität und Wartbarkeit und ist es zur bevorzugten Wahl für die moderne JQuery -Entwicklung.

Das obige ist der detaillierte Inhalt vonJQuery 1.7 .on () vs .live () Review. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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