Heim > häufiges Problem > Was sind die drei Phasen der Ereigniserfassung?

Was sind die drei Phasen der Ereigniserfassung?

百草
Freigeben: 2023-11-01 13:32:59
Original
1715 Leute haben es durchsucht

Die drei Phasen der Ereigniserfassung sind die Erfassungsphase, das Zielelement und die Blasenphase. In der Erfassungsphase werden Ereignisse Schicht für Schicht weitergegeben, beginnend mit dem äußersten Element. Entwickler können in dieser Phase einige Vorverarbeitungsvorgänge durchführen und eine weitere Übertragung von Ereignissen in der Zielelementphase verhindern. Gemäß dem entsprechenden Ereignishandler können Entwickler in dieser Phase einige spezifische Vorgänge ausführen. In der Bubbling-Phase werden Ereignisse ausgehend vom Zielelement Schicht für Schicht nach oben weitergeleitet, und Entwickler können in dieser Phase einige Nachbearbeitungsvorgänge ausführen und weitere verhindern Übermittlung von Ereignissen.

Was sind die drei Phasen der Ereigniserfassung?

Das Betriebssystem dieses Tutorials: Windows 10-System, DELL G3-Computer.

Ereigniserfassung bezieht sich auf den Prozess, bei dem der Browser beim Verarbeiten eines Ereignisses, das generiert wird, wenn ein Benutzer mit einem Element auf einer Webseite interagiert, beim äußersten Element beginnt und nach unten nach Elementen sucht, die mit dem Ereignis verknüpft sind, bis das Zielelement gefunden wird . Die Ereigniserfassung ist in drei Phasen unterteilt: Erfassen, Zielen und Bubbling.

Erfassung:

Die Erfassungsphase ist die erste Phase im Ereignisverarbeitungsprozess. Wenn ein Ereignis auftritt, beginnt der Browser beim äußersten Element und leitet das Ereignis durch Ereignisdelegation Schicht für Schicht weiter. Dieser Liefervorgang ist der sogenannte „Event Flow“. In der Erfassungsphase beginnt das Ereignis beim äußersten Element und wird durch die Ereignisdelegation Schicht für Schicht weitergegeben, bis das Zielelement gefunden wird. In diesem Prozess löst jede Elementebene den entsprechenden Ereignishandler aus. Diese Event-Handler können vom Entwickler selbst definiert oder standardmäßig vom Browser bereitgestellt werden.

In der Erfassungsphase werden Ereignishandler nacheinander vom äußersten Element bis zum Zielelement ausgeführt. Diese Reihenfolge wird durch die Richtung des Ereignisflusses bestimmt. Entwickler können während der Erfassungsphase einige Vorverarbeitungsvorgänge durchführen, z. B. das Abrufen von Kontextinformationen beim Auftreten eines Ereignisses, die Durchführung einiger notwendiger Überprüfungen usw. Wenn Sie zu diesem Zeitpunkt die weitere Zustellung des Ereignisses verhindern müssen, können Sie die Methode event.stopPropagation() aufrufen, um das Standardverhalten des Ereignisses abzubrechen und zu verhindern, dass das Ereignis weiterhin weitergegeben wird.

Ziel:

Nach der Erfassungsphase wird das Ereignis an das Zielelement übermittelt. Das Zielelement bezieht sich auf das spezifische Element, das mit dem Ereignis verknüpft ist, z. B. eine Schaltfläche, ein Link usw., auf das der Benutzer geklickt hat. Wenn ein Ereignis das Zielelement erreicht, wird der an das Zielelement gebundene Ereignishandler ausgelöst. Dieser Handler wird normalerweise vom Entwickler selbst definiert und dient zur Verarbeitung von Ereignissen im Zusammenhang mit dem Zielelement.

Im Ereignishandler des Zielelements können Entwickler einige spezifische Vorgänge ausführen, z. B. die Eigenschaften des Zielelements ändern, bestimmte Funktionen aufrufen usw. Diese Phase ist eine der wichtigsten Phasen im Ereignisverarbeitungsprozess, da in dieser Phase die Benutzerinteraktion direkt abgewickelt wird. Entwickler können im Event-Handler des Zielelements je nach Bedarf benutzerdefinierte Logik hinzufügen, um den tatsächlichen Anforderungen gerecht zu werden.

Bubbling:

Die Bubbling-Phase ist die letzte Stufe im Ereignisverarbeitungsprozess. Wenn der Ereignishandler des Zielelements die Ausführung abschließt, beginnt das Ereignis nach oben zu sprudeln und geht Schicht für Schicht bis zum äußersten Element über. Während dieses Vorgangs löst jede Elementschicht erneut den entsprechenden Ereignishandler aus. Diese Ereignishandler werden ab der Erfassungsphase in umgekehrter Reihenfolge übergeben, beginnend mit dem Zielelement und arbeiten sich nach oben.

Die Sprudelphase wird normalerweise verwendet, um einige Nachbearbeitungsvorgänge durchzuführen, z. B. Animationseffekte, Benachrichtigungen über andere Elemente usw. Wenn Sie die weitere Zustellung des Ereignisses in dieser Phase verhindern müssen, können Sie die Methode event.stopImmediatePropagation() aufrufen, um die weitere Übertragung des Ereignisses auf das aktuelle Element abzubrechen und die Ausführung anderer Ereignishandler zu verhindern.

Kurz gesagt sind die drei Phasen der Ereigniserfassung die Erfassungsphase, das Zielelement und die Blasenphase. In der Erfassungsphase werden Ereignisse Schicht für Schicht weitergegeben, beginnend mit dem äußersten Element. Entwickler können in dieser Phase einige Vorverarbeitungsvorgänge durchführen und eine weitere Übertragung von Ereignissen in der Zielelementphase verhindern. Gemäß dem entsprechenden Ereignishandler können Entwickler in dieser Phase einige spezifische Vorgänge ausführen. In der Bubbling-Phase werden Ereignisse ausgehend vom Zielelement Schicht für Schicht nach oben weitergeleitet, und Entwickler können in dieser Phase einige Nachbearbeitungsvorgänge ausführen und weitere verhindern Übermittlung von Ereignissen.

Das obige ist der detaillierte Inhalt vonWas sind die drei Phasen der Ereigniserfassung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage