Heim >Web-Frontend >js-Tutorial >Eine detaillierte Erklärung von Ereignisobjekten, Ereignisquellobjekten und Ereignisströmen in js
Ereignisobjekt (Ereignis)
Was ist ein Ereignis: Ereignis bezieht sich auf alle Ereignisse, die in js auftreten können und überwacht werden, z as (Maus-, Tastatur- und Browserfensteränderungen usw.)
Was ist ein Ereignisobjekt (Ereignis): Laienhaft ausgedrückt handelt es sich um ein Objekt, das verschiedene Informationen über das Ereignis aufzeichnet.
Hier ist zu beachten, dass das Ereignisobjekt in anderen Browsern als IE ein Ereignis ist, in Nicht-Browsern jedoch eine window.event-Quelle Objekt
In Firefox ist es event.srcElementIm IE ist es event.target
Kompatible Schreibmethoden finden Sie im EreignisobjektAber wenn es unterteilt ist, gibt es nach der Erfassung des Blasenstadiums eine Zielphase, d. h. die Betriebsphase für das spezifische DOM-Element, das bedient werden soll Ereignisse erfassen
Der oberste Knoten empfängt zuerst das Ereignis und gibt es dann nach unten an den spezifischen Knoten weiter. Beispiel: Wenn der Benutzer auf das p-Element klickt und die Ereigniserfassung verwendet, wird das Klickereignis in der Reihenfolge von document>htm>body>p weitergegeben. Die Übertragung erfolgt von außen nach innen.
Bubble-Ereignisse
sind das Gegenteil von Capture-Ereignissen. Sie werden von innen nach außen weitergegeben. Wenn der Benutzer auf p klickt, wird es an das übergeordnete Element p>body>html weitergeleitet. ***Da diese Funktion häufig für die Delegation von Ereignissen verwendet wird.Ereignisdelegation
Wir binden dieselben Ereignisse, die alle untergeordneten Elemente auslösen müssen, an das übergeordnete Element, wodurch DOM-Vorgänge reduziert und die Leistung verbessert werden können. Die spezifische Verwendungsmethode besteht darin, die Ereignisquellenobjektmethode zu verwenden.btn.onclick = function(event){let e = event || window.event}Um Klickereignisse an li zu binden, besteht unser Ansatz normalerweise darin, Klickereignisse in einer Schleife an li zu durchlaufen um sie an ein bestimmtes Ereignis zu binden.
Flexibel, neue Elemente können dynamisch erstellt werden, ohne Ereignisse erneut zu binden.
Verhindern Sie das Sprudeln von Ereignissen und blockieren Sie Standardereignisse.
<ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul>
]
Das obige ist der detaillierte Inhalt vonEine detaillierte Erklärung von Ereignisobjekten, Ereignisquellobjekten und Ereignisströmen in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!