molily: onclick event in geschachteleten elementen

Beitrag lesen

Hallo,

ich habe zwei geschachtelte elemente mit jeweils einem onclick event. beim click auf das innere element wird zuerst der passende onclick ausgeführt, danach aber noch der vom darunterliegenden element. gibt es einen weg das zu vermeiden. hier der testcode:

<div onclick="alert('1')">Text 1
<div onclick="alert('2')">Text 2
</div>
</div>

Click-Events steigen im Elementbaum auf (Bubbling). Dieses Bubbling kannst du so verhindern:

event.cancelBubble = true; // Internet Explorer  
if (event.stopPropagation) // W3C DOM Events  
   event.stopPropagation();

Über »event« kannst du in allen Browser in einem Event-Handler-Attribut wie onclick="..." auf das Ereignisobjekt zugreifen.
In einer gesonderten Handler-Funktion, die mit JavaScript selbst registriert wurde (element.onclick = handler;),  musst du hingegen erst einmal den Zugriff auf das Ereignisobjekt vereinheitlichen, siehe http://de.selfhtml.org/javascript/objekte/event.htm#allgemeines.

Mathias