event
Sebastian Becher
- javascript
0 Zapp
folgendes problem:
<div onclick="alert(1)">
<img src="..." onclick="alert(2)">
</div>
wenn ich hier jetzt auf das Bild klicke, dann werden beim IE beide events ausgelöst. aber wie sage ich jetzt, daß ich nur das event vom bild ausgelöst haben möchte und nicht vom div noch dazu, bzw. wie umgehe ich daß problem am geschicktesten???
MfG Sebastian Becher
Hallo Sebastian,
<div onclick="alert(1)">
<img src="..." onclick="alert(2)">
</div>
wenn ich hier jetzt auf das Bild klicke, dann werden beim IE beide events ausgelöst. aber wie sage ich jetzt, daß ich nur das event vom bild ausgelöst haben möchte und nicht vom div noch dazu, bzw. wie umgehe ich daß problem am geschicktesten???
Der Effekt heißt Event-Bubbling: http://selfhtml.teamone.de/dhtml/modelle/microsoft.htm#event_bubbling
Das läßt sich im IE abstellen mit event.cancelBubble=true;
Vom W3C gibt es dazu die Methode event.stopPropagation();
Um also alle zu berücksichtigen, könntest du schreiben:
<div onclick="alert(1)">
<img src="..." onclick="alert(2); event.cancelBubble=true; if(event.stopPropagation)event.stopPropagation();">
</div>
Grüße, Stefan
--
<img src="http://zapp.i-networx.de/logo.gif" border=0 alt=""> http://zapp.i-networx.de/