Felix Riesterer: Blubbern unterdrücken... wie funktioniert's genau?

Beitrag lesen

Lieber Gernot,

Welchen Ansatz hast du denn jetzt umgesetzt?

Wie ich schon geschrieben habe, habe ich das Bubbling ausgehebelt, aber nicht unterdrückt.

Nun ich reime mir das auch nur zusammen: In "e" (du könntest die Variable auch sonst irgendwie nennen, vollkommen egal) steht eine Referenz auf das Event, wenn die Funktion einen Übergabeparameter erwartet, einen solchen durch den Aufruf aber nicht mitbekommt. Das funktioniert aber nur in Nicht-IEs, IEs haben stattdessen das Objekt window.event.

Also ich habe mir das Beispiel in der Mozilla-Doku nochmal angesehen. Da wird per addEventListener() einer Tabellenzelle (el) ein onClick-Eventhandler aufgedrückt.
el.addEventListener("click", l_func, false)
Die im Event-Falle aufzurufende Funktion (l_func) empfängt beim Aufruf einen übermittelten Parameter "e". Tja, wo kommt der denn her???

Ich vermute, dass der Eventhandler anscheinend automatisch eine Referenz des feuernden Elements übermittelt. Deine Funktion stp(e) prüft ja auf Vorhandensein dieses Parameters, um bei einem Nichtvorhandensein IE-spezifisch zu reagieren. Aber was mache ich in meinem Fall? Mein onclick-Attribut enthält einen Funktionsaufruf mit einem eigenen Parameter! Wie komme ich jetzt an die Referenz des feuernden Elements?

Ich werde mal probieren, ob meine Funktionen im Mozilla noch einen zweiten Parameter empfangen. Denn wenn da bei onclick immer so ein "e" übermittelt wird, dann müsste ja bei einer selbst-programmierten Parameterübergabe der Referenzparameter trotzdem ankommen... Und um den Programmierer nicht zu verunsichern wäre es gut, diesen hinten anzustellen. Ich werde das mal ausprobieren.

Liebe Grüße aus Ellwangen,

Felix Riesterer.