dr.Colossos: Nachtrag

Beitrag lesen

Hi,

ich dachte mir ich erlaeuter hier noch ein paar Details.

Mit ...

document..onclick = hidemenu;

... registrierst du die Funktion hidemenu() fuer jeden Klick auf das Dokument. D.h., auch wenn du auf ein image, link, div etc. innerhalb des Dokuments klicks, feuert das event, und hidemenu() wird ausgefuert.

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

"event" kannst du bei diesen Methoden immer dazu schreiben, das Event-Objekt wird dann implizit uebergeben.

event = event || window.event; ist ein Switch fuer MS und Standard-Methodik. window.event is MS-Syntax, event fuer alle anderen. Das gibt die das Event-Objekt zurueck.

Analog mit elem = event.target || event.srcElement;. Ersteres ist der Standard, zweiteres MS.
In jedem Fal kriegst hier das ANGEKLICKTE Element zurueck.

Naja, und wenn dieses Element nun die id "menu" hat, dann setzen wir "display: none". Fertig!

Hope this helps