JavaScript fügt Ereignis-Listener zur Ereignisdelegierung in Batches hinzu. Detaillierter Prozess

JavaScript fügt Ereignis-Listener zur Ereignisdelegierung in Batches hinzu. Detaillierter Prozess

1. Was ist Eventdelegation?

Ereignisdelegierung: Nutzen Sie die Eigenschaften des Ereignis-Bubblings, um die Verarbeitungsereignisse, die bei den untergeordneten Elementen registriert werden sollen, beim übergeordneten Element zu registrieren. Auf diese Weise wird, wenn auf das untergeordnete Element geklickt wird und festgestellt wird, dass es kein entsprechendes Ereignis für sich selbst gibt, nach dem übergeordneten Element gesucht und darauf reagiert. Dies hat folgende Vorteile:

  • Reduzieren Sie DOM-Operationen und verbessern Sie die Leistung.
  • Unterelemente können jederzeit hinzugefügt werden und die hinzugefügten Unterelemente verfügen automatisch über entsprechende Verarbeitungsereignisse.

2. Das Prinzip der Eventdelegation

Die Ereignisdelegation wird mithilfe des Event-Bubbling-Prinzips implementiert. Was ist Event-Bubbling? Das heißt, das Ereignis beginnt am tiefsten Knoten und breitet sich dann Schritt für Schritt nach oben aus.
Beispiel: Auf der Seite gibt es einen Knotenbaum, div>ul>li>a; wenn beispielsweise ein Klickereignis zum innersten a hinzugefügt wird, wird dieses Ereignis Schicht für Schicht nach außen ausgeführt, und die Ausführungsreihenfolge ist a>li>ul>div. Es gibt einen solchen Mechanismus, wenn wir also ein Klickereignis zum äußersten div hinzufügen, dann werden, wenn ul, li und a im Inneren ein Klickereignis auslösen, sie zum äußersten div weitergeleitet, sodass sie alle ausgelöst werden. Dies ist Ereignisdelegierung, bei der ihre Eltern beauftragt werden, Ereignisse in ihrem Namen auszuführen.

3. Durchführung der Eventdelegation

Implementieren Sie die Ereignisdelegation über einen Fall.
Fall: Ereignis-Listener stapelweise hinzufügen. Verwenden Sie JavaScript, um Folgendes zu erreichen: Klicken Sie auf das jeweilige Li-Element, und der Hintergrund des jeweiligen Li-Elements wird rot.

Bildbeschreibung hier einfügen

Strukturebene + Stilebenencode:

<Stil>
    * {
        Rand: 0;
        Polsterung: 0;
    }
    ul {
        schweben: links;
        Breite: 800px;
        Rand oben: 50px;
    }
    ul li {
        Listenstil: keiner;
        schweben: links;
        Breite: 200px;
        Höhe: 200px;
        Rand: 1px durchgezogen #000;
        Rand rechts: 20px;
    }
    ul li:erstes-Kind {
        Rand links: 20px;
    }
</Stil>
<Text>
	<ul id="Liste">
    	<li>1</li>
    	<li>2</li>
    	<li>3</li>
	</ul>
</body>

3.1 Methode 1: Schleife zum Hinzufügen von Ereignissen

Verwenden Sie keine Ereignisdelegierung. Verwenden Sie eine For-Schleife, um Klickereignisse hinzuzufügen. Der Speicherverbrauch ist groß.

var oList = document.getElementById('Liste');
var lis = oList.getElementsByTagName('li');
für (var i = 0; i < lis.length; i++) {
    lis[i].onclick = Funktion () {
        dieser.Stil.Hintergrundfarbe = "rot";
    }
}

3.2 Methode 2: Verwenden der Ereignisdelegierung

Verwenden Sie die Ereignisdelegierung.

var oList = document.getElementById('Liste');
oList.onclick = Funktion (e) {
	e.target.style.backgroundColor = "rot";
}

In diesem Fall stellt e.target das Element dar, auf das der Benutzer tatsächlich geklickt hat.

Damit ist dieser Artikel über den detaillierten Prozess des Hinzufügens von Ereignislistenern zur Ereignisdelegierung in Batches mithilfe von JavaScript abgeschlossen. Weitere relevante Inhalte zur Ereignisdelegierung in JavaScript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Eine kurze Analyse von Event Bubbling und Event Capture in js
  • Detaillierte Analyse des Event-Bubbling-Mechanismus in JavaScript
  • Einführung in Event Bubbling und Event Capture in JS
  • Detaillierte Erläuterung von JS-Bubbling-Ereignissen und Beispielen zur Ereigniserfassung
  • Detaillierte Erklärung der JS-Ereignisdelegation
  • Detaillierte Erklärung zum Javascript-Event-Bubbling, Event-Capture und Event-Delegation

<<:  Detaillierte Erläuterung des Tutorials zum Erstellen einer PHP-Umgebung für Docker

>>:  Tutorial zur HTML-Tabellenauszeichnung (16): Attribut für horizontale Titelausrichtung ALIGN

Artikel empfehlen

vue.js Router verschachtelte Routen

Vorwort: Manchmal ist der Hauptteil einer Route d...

Bei MySQL-Zeichentypen wird die Groß-/Kleinschreibung beachtet.

Standardmäßig sind MySQL-Zeichentypen nicht case-...

MySQL-Initialisierungskennwortvorgang unter Mac

Eine einfache Aufzeichnung der Datenbank-Startpro...

Vertieftes Verständnis des Implementierungsprinzips des Require Loader

Vorwort Wir sagen oft, dass Node keine neue Progr...

JavaScript-Tippspiel

In diesem Artikel wird der spezifische JavaScript...

Detaillierte Erklärung der Verwendung des Linux-Befehls lsof

lsof (List Open Files) ist ein Tool zum Anzeigen ...

So verwenden Sie tcpdump zum Erfassen von Paketen im Linux-System

Lassen Sie mich zunächst einen Blick auf den Beis...

Regeln für die Verwendung gemeinsamer MySQL-Indizes

Ein gemeinsamer Index wird auch als zusammengeset...

So optimieren Sie Bilder, um die Website-Leistung zu verbessern

Inhaltsverzeichnis Überblick Was ist Bildkomprimi...

Tipps zum Gestalten der Fotovorschau-Navigation auf Webseiten

<br />Navigation bezieht sich nicht nur auf ...