Hallo,
Hab im Archiv schon eine mögliche Lösung gefunden, da heist es ich müsste vor dem ausgeben der Meldung prüfen, ob der mouseout Event vom "parent"-div oder von einem der Child Elemente ausgelöst wurde.
Du musst auf das Event-Objekt zugreifen. Dessen Eigenschaften target (im IE: srcElement) verweist auf das Element, bei dem das Ereignis tatsächlich passierte. Die Event-Eigenschaft currentTarget (konventionell: this) verweist auf das Element, bei dem die Handlerfunktion registriert wurde, die gerade ausgeführt wird.
Wenn du die Maus vom Element child1 zu child2 bewegst, dann passiert ein Mouseout-Ereignisse mit target = child1 und currentTarget = parent. Dich interessieren nur Ereignisse mit target = parent.
Du kannst also abfragen, ob das Target-Element die ID parent hat bzw. ob das Target-Element mit dem Element identisch ist, bei dem der Handler registriert wurde (also das currentTarget).
document.getElementById("parent").onmouseout = mouseout;
function mouseout (e) {
// Zugriff auf das Event-Objekt
if (!e) {
// Wenn nicht W3C-konform als Parameter übergeben, benutze window.event (Microsoft-proprietär)
e = window.event;
}
var target;
if (e.target) {
// gemäß W3C DOM Events
target = e.target;
} else if (e.srcElement) {
// Microsoft-proprietär
target = e.srcElement
}
if (target == this) {
// Mouseout-Ereignis passierte am Element mit id="parent" selbst
/* ... Reagiere auf das Ereignis ... */
}
}
Mathias