Problem mit Evant-Handler
Thomas Mell
- javascript
Hi Leute,
ich habe mal wieder ein Problem mit dem NN. Ich möchte eine Funktion aufrufen wenn ich auf einen Layer klicke. Mit "ONCLICK" funzt es einwandfrei, wenn ich aber "ONMOUSEDOWN" benutze funzt es nur beim ersten Klick. Danach kann ich auf der Seite klicken wo ich will und es wird ebenfalls die Funktion ausgeführt. Woran liegt das???
tausend Dank schon mal.
Thomas
<html>
<head>
</head>
<body bgcolor=#FFFFFF>
<layer id="i" style="position:absolute; left:222px; top:181px; width:222px; height:216px; background-color: #990099; layer-background-color: #990099; border: 1px none #000000"></layer>
<script language="JavaScript">
<!--
document.layers['i'].document.captureEvents(Event.MOUSEDOWN);
document.layers['i'].document.onmousedown=test;
function test()
{
alert("Klick");
}
//-->
</script>
</body>
</html>
Hi Thomas,
so ganz verstehen tue ich das zwar nicht mit dem ganzen Eventcapturing, aber das Problem liegt wohl zum einen an Deiner doppelten Layer-Definition durch Angabe von <layer> und dessen absoluter Positionierung und zum anderen an der Rückgabe Deiner Testfunktion. Mit "return false" klappt es nämlich (zumindet bei mir):
<html>
<head>
</head>
<body bgcolor=#FFFFFF>
<div id="i" style="position:absolute; left:222px; top:181px; width:222px; height:216px; background-color: #990099;
layer-background-color: #990099; border: 1px none #000000"></div>
<script language="JavaScript">
<!--
document.layers['i'].document.captureEvents(Event.MOUSEDOWN);
document.layers['i'].document.onmousedown=test;
function test()
{
alert("Klick");
return false;
}
//-->
</script>
</body>
</html>
Gruß
Leonhard