KeyboardEvent keyCode-Eigenschaft
Definition und Verwendung
keyCode-Eigenschaft gibt zurück, was ausgelöst hat onkeypress-Ereignis Tastaturtaste Unicode-Zeichenkodierung oder löst aus onkeydown oder onkeyup-Ereignis Tastaturtaste Unicode-Tastaturcodes.
Unterschied zwischen den beiden Kodierungstypen:
- Zeichenkodierung - die Nummer, die einen ASCII-Zeichen darstellt
- Tastaturcode - repräsentiert die Nummer der tatsächlichen Taste auf der Tastatur
Diese Typen bedeuten nicht immer dasselbe. Zum Beispiel haben die Kleinbuchstaben "w" und die Großbuchstaben "W" denselben Tastaturcode, da die Taste auf der Tastatur gleich ist ("W" = Nummer "87"), aber der Zeichencode ist unterschiedlich, da der resulting Zeichencode unterschiedlich ist ("w" oder "W", d.h. "119" oder "87"). - Bitte sehen Sie sich die folgenden Beispiele an, um dies besser zu verstehen.
Hinweis:Um zu erfahren, ob der Benutzer eine druckbare Taste (z.B. "a" oder "5") gedrückt hat, wird empfohlen, das Attribut im onkeypress-Ereignis zu verwenden. Um zu erfahren, ob der Benutzer eine Funktionstaste (z.B. "F1", "CAPS LOCK" oder "Home") gedrückt hat, verwenden Sie die onkeydown- oder onkeyup-Ereignisse.
Kommentar:In Firefox hat das keyCode-Attribut keine Wirkung auf das onkeypress-Ereignis (returns nur 0). Für eine crossbrowserlösung, setzen Sie which-Attributzusammen mit keyCode, z.B.:
var x = event.which || event.keyCode; // Which oder keyCode verwenden, hängt vom Browser-Unterstützung ab
Hinweis:Für eine Liste aller Unicode-Zeichen besuchen Sie unsere Vollständige Unicode-Referenz.
Hinweis:Wenn Sie den Unicode-Wert in ein Zeichen umwandeln möchten, verwenden Sie fromCharCode() Methode.
Kommentar:Diese Eigenschaft ist schreibgeschützt.
Kommentar:keyCode- und which-Attribute werden nur zur Kompatibilität bereitgestellt. Die neueste Version der DOM-Event-Spezifikation empfiehlt, anstelle davon den key-Attribute zu verwenden (wenn verfügbar).
Hinweis:Wenn Sie wissen möchten, ob "ALT", "CTRL", "META" oder "SHIFT" gedrückt wurden, wenn ein Tasteneingriff stattfindet, verwenden Sie altKey,ctrlKey/,metaKey oder shiftKey Eigenschaft.
Beispiel
Beispiel 1
Erhalten Sie den Unicode-Wert der gedrückten Taste:
var x = event.keyCode;
Beispiel 2
Verwenden Sie onkeypress und onkeydown, um den Unterschied zwischen Zeichencode und Tastaturcode zu demonstrieren:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
Wenn Sie die Taste "a" auf der Tastatur drücken (ohne Capslock zu verwenden), werden die Ergebnisse von char und key sein:
Unicode CHARACTER code: 97 Unicode KEY code: 65
Beispiel 3
Wenn der Benutzer die Escape-Taste drückt, wird einige Text angezeigt:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 ist die ESC-Taste alert("Sie haben die Escape-Taste gedrückt!"); } }
Beispiel 4
Unicode-Wert in Zeichen umwandeln (nicht für Funktionstasten geeignet):
var x = event.keyCode; // Unicode-Wert abrufen var y = String.fromCharCode(x); // Wert in Zeichen umwandeln
Syntax
event.keyCode
Technische Details
Rückgabewert: | Numerischer Wert, der den Unicode-Zeichencode oder den Unicode-Tastencode darstellt. |
---|---|
DOM-Version: | DOM Level 2 Ereignisse |
Browserkompatibilität
Eigenschaften | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | Unterstützung | Unterstützung | Unterstützung | Unterstützung | Unterstützung |
Verwandte Seiten
HTML DOM Referenzhandbuch:KeyboardEvent key-Eigenschaft
HTML DOM Referenzhandbuch:KeyboardEvent charCode-Eigenschaft
HTML DOM Referenzhandbuch:KeyboardEvent which-Eigenschaft