Know-How
onmouseout in Unterelementen "verhindern"
Wenn man mit dem Mauscursor über den DIV bewegt bleibt es erwartungsgemäß "display=block". Bewegt man den Mauszeiger aber weiter über ein Child Element (z.B. ein Link) wird onmouseout ausgeführt. Besteht die Möglichkeit onmouseout nur auszuführen wenn ich wirklich außerhalb des DIVs bin?
Diese Javascript Funktionen übernehmen:
function containsDOM (container, containee) { var isParent = false; do { if ((isParent = container == containee)) break; containee = containee.parentNode; } while (containee != null); return isParent; } function checkMouseEnter (element, evt) { if (element.contains && evt.fromElement) return !element.contains(evt.fromElement); else if (evt.relatedTarget) return !containsDOM(element, evt.relatedTarget); } function checkMouseLeave (element, evt) { if (element.contains && evt.toElement) return !element.contains(evt.toElement); else if (evt.relatedTarget) return !containsDOM(element, evt.relatedTarget); }
Und im DIV den mouseout Event umschreiben:
onmouseout="if (checkMouseLeave(this, event)) {this.style.visibility = 'hidden';}"
Tags