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

Detaillierte Analyse von MySQL-Deadlock-Problemen

Vorwort Wenn sich unser Geschäft in einem sehr fr...

Implementierung von MySQL-indexbasierten Stresstests

1. Datenbankdaten simulieren 1-1 Datenbank- und T...

Beispielcode zur Implementierung der Formularvalidierung mit reinem CSS

In unserem täglichen Geschäft ist die Formularval...

Detaillierte Erläuterung der Live-Übertragungsfunktion von Vue

Vor kurzem hat das Unternehmen zufällig Live-Über...

So fügen Sie bei der Webseitenerstellung Webfont-Dateien Vektorsymbole hinzu

Wie wir alle wissen, gibt es in Computern zwei Art...

Detaillierte Erklärung zur Verwendung von $props, $attrs und $listeners in Vue

Inhaltsverzeichnis Hintergrund 1. Dokumentbeschre...

Vue+Element UI realisiert die Kapselung von Dropdown-Menüs

In diesem Artikelbeispiel wird der spezifische Co...