Klaus B.: Problem beim schreiben eines Menues

Beitrag lesen

Du hast Probleme mit dem event-bubbling. Die inneren Elemente decken beim Erscheinen tatsächlich das äußere Element ab und lösen einen onmouseout-event aus.

Setze in das äußere Element folgende onmousout-routine:

onmouseout="if (document.all) {
            if (!this.contains(event.toElement))
            javascript:changeMenu('');
            }
            else if (document.getElementById) {
            if (!containsNN6(this, event.relatedTarget))
            javascript:changeMenu('');}"

für den Mozilla brauchen wir dann die Funktion containsNN6:

function containsNN6 (container, containee)
         {
         var isParent = false;
         do {
         if ((isParent = container == containee))
         break;
         containee = containee.parentNode;
         }
         while (containee != null);
         return isParent;
         }

und natürlich für alle noch die Funktion die das Menue ändern soll, im Beispiel heißt sie changeMenu().

MfG
Klaus