Tastaturereignissen unter Mozilla
bob28
- javascript
0 sschumann0 Christian Kruse
0 bob28
Hallo
Ich möchte rausfinden welche dezimalcode (ASCII/ANSI-Wert) der gedrückte Tastaturtaste
unter Mozilla1.5 hat.
Dazu verwende ich folgende Script:
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function Code(Ereignis)
{
alert("Tastaturtaste: " + Ereignis.which);
}
document.onKeydown = Code;
//-->
</script>
</head><body>
</body></html>
Aber das funktioniert nicht.
Kann mir jemand damit helfen?
Ich bedanke mich im voraus.
document.onKeydown = Code;
Das klappt für Mozilla nicht, weil Netscapes Event-Modell übernommen wurde. Heißt: nutze window.captureEvents
Hallo sschumann,
document.onKeydown = Code;
Das klappt für Mozilla nicht, weil
Netscapes Event-Modell übernommen wurde.
Heißt: nutze window.captureEvents
Falsch. Natuerlich klappt das. Aber der
Event-Handler muss komplett klein
geschrieben werden:
document.onkeydown = Code;
Und es ist nicht Ereignis.which, sondern
Ereignis.keyCode bzw. Ereignis.charCode
(IE). Unabhaengig von den Browsern habe
ich es so im Einsatz:
function keyevent(e) {
if(!e) {
e = window.event;
}
/* IE uses charCode, gecko uses keyCode */
if(e.charCode) val = e.charCode;
else val = e.keyCode;
...
}
Gruesse,
CK
Was habe ich jetzt falsch gemacht?
Es funktioniert immer noch nicht.
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function Code(Ereignis)
{
alert("Tastaturtaste: " + Ereignis.keyCode);
}
document.onkeydown = Code;
//-->
</script>
</head><body>
</body></html>
Das klappt für Mozilla nicht, weil
Netscapes Event-Modell übernommen wurde.
Heißt: nutze window.captureEventsFalsch.
*hat noch keinen Mozilla erlebt, wo's ohne funktioniert hat. Handelte sich aber auch ausschließlich um Mouse-Events.* Der Rest Deines Postings zeigt übrigens auch, daß es lupt wie im ollen Netscape.*
Hallo sschumann,
[... captureEvents ...]
*hat noch keinen Mozilla erlebt, wo's ohne
funktioniert hat. Handelte sich aber auch
ausschließlich um Mouse-Events.*
Der Mozilla braucht kein captureEvents. Folgendes
funktioniert einwandfrei:
<html>
<head>
<title>blahr</title>
<script type="text/javascript">
function blahr() {
alert("moved!");
}
window.onmousemove = blahr;
</script>
</head>
</html>
Der Rest Deines Postings zeigt übrigens auch,
daß es lupt wie im ollen Netscape.*
Dass das Event-Modell grundsaetzlich vom NN
uebernommen wurde, habe ich nicht bestritten.
Gruesse,
CK
Hallo, Christian Kruse.
Was habe ich jetzt falsch gemacht?
Es funktioniert immer noch nicht.
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function Code(Ereignis)
{
alert("Tastaturtaste: " + Ereignis.keyCode);
}
document.onkeydown = Code;
//-->
</script>
</head><body>
</body></html>
Hallo bob28,
Was habe ich jetzt falsch gemacht?
Es funktioniert immer noch nicht.
Das ist keine Problembeschreibung. Bitte genauer.
Gruesse,
CK
Was habe ich jetzt falsch gemacht?
Es funktioniert immer noch nicht:
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function Code(Ereignis)
{
alert("Tastaturtaste: " + Ereignis.keyCode);
}
document.onkeydown = Code;
//-->
</script>
</head><body>
</body></html>
Was habe ich jetzt falsch gemacht?
Hast Du vorher ins Fenster geklickt?