Netscape 6.x Problem - mit CaptureEvents
Andreas
- javascript
Hallo Leute,
ich habe ein Problem mit dem Drück der <ENTER> Taste. Ich möchte dies überprüfen im IE und im NS 4.x gehts hervorragend. Im NS 6.x meint, dass Ereignis "no properties" hat.
Worum gehts eigentlich?
<script>
var nn4
var ie4
function TasteGedrueckt(Ereignis) {
if (nn4) {var taste=Ereignis.which;}
if (ie4) {var taste=event.keyCode}
if (taste==13) { alert(taste) }
return true
}
ie4 = (document.all)? true:false
if(ie4 == false)
{nn4 = true}
dyn = (nn4||ie4)
if (dyn) {
document.onkeydown = TasteGedrueckt
if (nn4) document.captureEvents(Event.KEYDOWN)
}
</script>
Aufgerufen wirds dadurch:
<form action="test.htm" method="post">
<input type="text" name="adsf" onkeydown="TasteGedrueckt()">
<input type="submit" value="spiecher">
</form>
So, IE 5.x - passt.
NS 4.x - passt.
NS 6.x - aaaaaaaaaaaahhhhhhhhhhh - meint, dass EREIGNIS "no properties" hat. Wie gibts denn sowas? Woran stösst sich NS 6.x? Wie kann ich dagegenworken? Hat jemand die Lösung parat?
hi andreas,
der ns6 funktioniert halt ganz anders als der ns4. du solltest die beiden daher schon unterscheiden.
in deinem beispiel ruft er wegen des eventhandlers im inputfield die funktion auf und da muesstest du das event explizit mitgeben, damit es zur verfügung steht: onkeydown="TasteGedrueckt(event)".
captureEvent ist nur was für ns4
im ns und mozilla verwendet man besser die W3C-Methode addEventListener().
wie das geht kannst du in selfhtml8 oder auf meiner seite nachlesen
lg spiff