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?
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:
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ß.
Es gibt jetzt ein kleines GitHub-Projekt / NPM-Modul namens event-propagation-path
, das als Polyfill fungiert. Schau es dir hier an:
Tags und Links javascript html dom