molily: onmouseout

Beitrag lesen

Hallo,

Anscheinend wird aber schon getriggert, wenn man von einer zur anderen Zelle wechselt.

Ja, weil dabei mouseout-Events bei den td-Elementen passieren. Diese steigen auf (Bubbling) und lösen beim table-Element den mouseout-Handler aus.

Hätte jemand einen Vorschlag, wie man ein onmouseout umsetzen kann, das nur ausgelöst wird, wenn man die Tabelle komplett verlässt?

Verwende das Ereignis mouseleave statt mouseout. Das bubblet nicht und feuert nur, wenn die Maus wirklich die Fläche des Elements samt der Flächen der Kindelemente verlässt.

Für ältere Browser, die das Ereignis nicht unterstützen, muss man testen, ob das Element, zu dem sich der Mauszeiger bewegt, im fraglichen Element oder außerhalb liegt:
http://molily.de/temp/mouseenter-mouseleave.html

Bibliotheken wie jQuery simulieren das Ereignis, sodass man direkt auf mouseenter/mouseleave hören kann.

Mathias