Heim > Web-Frontend > js-Tutorial > Wie schneidet Vanilla JavaScript Event Delegation im Vergleich zum jQuery-Ansatz für optimale Leistung ab?

Wie schneidet Vanilla JavaScript Event Delegation im Vergleich zum jQuery-Ansatz für optimale Leistung ab?

Barbara Streisand
Freigeben: 2024-11-26 10:05:15
Original
235 Leute haben es durchsucht

How Does Vanilla JavaScript Event Delegation Compare to jQuery's Approach for Optimal Performance?

Ereignisdelegierung in Vanilla-JavaScript für optimale Leistung

Überarbeitung der jQuery-Syntax

In jQuery kann die Ereignisdelegierung mit dem folgenden Code erreicht werden:

$('#main').on('click', '.focused', function() {
  settingsPanel();
});
Nach dem Login kopieren

Übersetzung in Vanilla-JavaScript

Verwendung von Ereignis Die Delegation in Vanilla-JavaScript kann über addEventListener erreicht werden. Es ist jedoch wichtig, den Ansatz im Hinblick auf Effizienz zu optimieren. Betrachten Sie die folgende Alternative:

document.querySelector('#main').addEventListener('click', (e) => {
  if (e.target.closest('.focused')) {
    settingsPanel();
  }
});
Nach dem Login kopieren

Durch die Verwendung von close() prüfen wir, ob das angeklickte Element oder einer seiner Vorfahren mit dem .focused-Selektor übereinstimmt. Dadurch entfällt die Notwendigkeit einer ineffizienten Iteration durch untergeordnete Elemente.

Code kompakt halten

Um die Codekompaktheit zu verbessern, kann die Hauptlogik unter einer Early-Return-Anweisung platziert werden:

document.querySelector('#main').addEventListener('click', (e) => {
  if (!e.target.closest('.focused')) {
    return;
  }

  // Code of settingsPanel here
});
Nach dem Login kopieren

Beispielimplementierung

Der folgende Code demonstriert die Ansatz:

document.querySelector('#outer').addEventListener('click', (e) => {
  if (!e.target.closest('#inner')) {
    return;
  }
  console.log('vanilla');
});

$('#outer').on('click', '#inner', () => {
  console.log('jQuery');
});
Nach dem Login kopieren

Beobachten Sie die Ausgabe, wenn Sie mit den Elementen sowohl mit Vanilla-JavaScript- als auch mit jQuery-Ereignishandlern interagieren.

Das obige ist der detaillierte Inhalt vonWie schneidet Vanilla JavaScript Event Delegation im Vergleich zum jQuery-Ansatz für optimale Leistung ab?. 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