dr.Colossos: onclick layer öffnen/schließen

Beitrag lesen

Hi,

Du musst das event beim Menue registrieren.

So aus'm Stehgreif wuerde ich folgendes vorschlagen.

document.getElementById("menu").onclick = hidemenu;

Bedauerlicherweise kannst du das (glaub ich) erst ausfuehren, wenn       das Dokument vollstaendig geladen ist, d.h. du muesstest dir evtl. eine init-Funktion schreiben, die du via <body onload='init()'> aufrufst.

function init()
{
    document.getElementById("menu").onclick = hidemenu;
}

Auch koenntest du "hidemenu" direkt im Layer aufrufen:
<div id="menu" onclick="hidemenu()">...</div>

Dann bist aber wieder bei DOM1 angelangt, und das waere zu vermeiden.

Du kannst mal weiter suchen, wie man am besten Events fuer Elemente registriert, oder jemand gibt dir einen schlauen Tipp hier.

Ach ja, was auch ginge ...

function hidemenu(event)
{
      event = event || window.event;
      elem = event.target || event.srcElement;
      if(elem.id == "menu")
            elem.style.display = "none";

}

Denke letzteres is sauber, und am besten ... lass mich aber gerne korrigieren ...