molily: onmouseout im Firefox feuert falsch

Beitrag lesen

Hallo,

Wie umschiffe ich das denn, dass man sagt, dass div2 nur ein Kindobjekt von div01 ist und ergo div2 onmouseover == div3 onmouseover ist =/

Eigentlich sind mouseover und mouseout für diese Aufgabe nicht geeignet, es gibt stattdessen mouseenter und mouseleave. Diese Events leisten das, was du eigentlich willst, aber sie sind noch nicht browserübergreifend unterstützt.

Wenn man also mit mouseover/mouseout arbeiten will, muss man beim mouseout abfragen, ob das Element, zu dem sich die Maus bewegt, im äußeren Element enthalten ist. Und beim mouseover abfragen, ob das Element, von dem die Maus kommt, nicht im äußeren Element enthalten ist.

Ist eigentlich ganz logisch. Die Umsetzung ist etwas schwieriger. Diese besagten Elemente bekommt man über das Event-Objekt heraus, aber je nach Browser unterschiedlich. Die Abfrage, ob ein Element in einem anderen enthalten ist, bedarf auch einiger Browser-Nivellierungen. Ich hatte mal einige Beispiele gemacht:

onMouseover bei verschachtelten Elementen
Die kunterbunte Welt des Event-Handlings
mouseover bei verschachtelten Elementen

(Fang am besten hinten an, das ist das aktuellste, die ersten beschreiben die Hintergründe.)

Mathias