Rolf B: Eventhandler auf document-Ebene

Beitrag lesen

problematische Seite

Hallo dedlfix,

ist schon alles richtig. Aber trotz stopPropagation braucht es noch ein preventDefault, gerade mal in den DevTools probiert. Warum, weiß ich auch nicht so recht - ohne Propagation bekommt der Brauser ja eigentlich nichts mehr vom Tastendruck mit.

Update: Kollege Mozilla meint dazu:

The stopPropagation() method of the Event interface prevents further propagation of the current event in the capturing and bubbling phases. It does not, however, prevent any default behaviors from occurring; for instance, clicks on links are still processed. If you want to stop those behaviors, see the preventDefault() method.

Die DOM-Spec unterscheidet auch zwischen einem stop-propagation und einem canceled Flag. preventDefault setzt canceled. Und offenbar findet das Default-Verhalten eines Events unabhängig von der Propagation statt. Aber ob die Spec das hergibt, dafür müsste ich mir diesen Haufen "if this then that" durchlesen, aber offenbar findet das Default-Verhalten außerhalb des Bubblings statt.

Update: Soweit ich das begreife, wird diese Hypothese von der Spec bestätigt. Schritt 5.13 und 5.14 beschreiben das Bubbling, und das Default-Verhalten ("activation behavior") folgt in Schritt 11 separat.

Rolf

--
sumpsi - posui - obstruxi