Ermitteln des Ereignispfads in der Bubbling-Prozedur des DOM-Ereignisses

8

Ich versuche den Weg zu finden, durch den ein Ereignis sprudelt. Zum Beispiel habe ich eine Markierung wie

%Vor%

Nun, wenn btn2.3.1 angeklickt wurde, möchte ich den gesamten Pfad sehen, durch den sich das Ereignis durchgeblasen hat. btn2.3.1 - & gt; div2.3 - & gt; div2 - & gt; -Behälter. Gibt es eine Möglichkeit, dies zu tun, indem nur ein Handler auf den Container gesetzt wird? (Nein Jquery bitte)

Ich habe ein event.path-Array gefunden. Was macht das Zeug, aber konnte nicht viele Details darüber finden. Ist es Cross-Browser? Was ist der richtige Weg, um dies zu erreichen?

    
Abhik 04.10.2014, 17:07
quelle

3 Antworten

12

event.path

Aus whatwg :

  

Wenn der Zielattributwert des Ereignisses an einem Baum teilnimmt, sei der Ereignispfad eine statische geordnete Liste aller seiner Vorfahren in Baumreihenfolge und andernfalls der Ereignispfad die leere Liste.

BEARBEITEN / EINFÜGEN:

Dis / Un-abgedeckt durch eine Notiz in der Polymer-Projektdokumentation und über einen HTML5Rocks-Artikel :

Dies scheint eine "Erweiterung für die event interface" zu sein, die nur über Webkomponente Schatten-DOM .

Es ist Standard nur in dieser Hinsicht (anscheinend).

Obwohl noch nicht viel Dokumentation verfügbar ist ( wir müssen es schreiben; -)

Ab dem 23. Januar 2016 wird dies (standardmäßig) nicht in allen Browsern angezeigt.

Aber im Grunde:

%Vor% %Vor% %Vor%

Mit anderen Worten: path ist ein Stammbaum in Form eines Array .

ANDERE BEARBEITEN / EINFÜGEN:

Eine weitere Frage zur Verwendung von path wurde mit einem Vorschlag zur Verwendung von composedPath geantwortet, von dem ich wenig weiß.

    
Fred Gandt 04.05.2015, 02:44
quelle
18
%Vor%     
Andrei Volchenko 04.10.2014 17:24
quelle
0

Es gibt jetzt ein kleines GitHub-Projekt / NPM-Modul namens event-propagation-path , das als Polyfill fungiert. Schau es dir hier an:

event-propagation-path @ GitHub

event-propagation-path @ NPM

    
zbr 16.02.2018 14:31
quelle

Tags und Links