keyCode-Ereigniseigenschaft
Beispiel
Ermitteln Sie den Unicode-Wert der gedrückten Tastaturtaste:
xDas Ausgabeergebnis ist:
Selbst ausprobieren »
Dieser Artikel enthält unten weitere Beispiele.
Definition und Verwendung
Die keyCode-Eigenschaft gibt beionkeypressden Zeichencode des Tastenwerts zurück, der das Ereignis ausgelöst hat, oder beionkeydownoderonkeyupden Tastencode des Ereignisses.
Der Unterschied zwischen den beiden Codetypen ist:
- Zeichencode - eine Zahl, die ein ASCII-Zeichen darstellt
- Tastaturcode - eine Zahl, die die tatsächliche Taste auf der Tastatur darstellt
Die beiden Arten von Werten sind nicht immer gleich. Zum Beispiel haben Kleinbuchstabe "w" und Großbuchstabe "W" denselben Tastaturcode, weil sie dieselbe Taste auf der Tastatur sind (der Code für "W" ist "87"), aber sie haben unterschiedliche Zeichencodes, und die Ausgabe der beiden Zeichen ist unterschiedlich (die Zeichencodes für "w" und "W" sind "119" und "87") - siehe die Beispiele unten zum besseren Verständnis.
Tipp:Wenn Sie wissen müssen, ob der Benutzer eine druckbare Taste (wie "a" oder "5") gedrückt hat, wird empfohlen, das onkeypress-Ereignis zu verwenden. Wenn Sie wissen müssen, ob der Benutzer eine Funktionstaste (wie "F1", "CAPS LOCK" oder "Home") gedrückt hat, können Sie das onkeydown- oder onkeyup-Ereignis verwenden.
Hinweis:In Firefox ist die keyCode-Eigenschaft im onkeypress-Ereignis ungültig (gibt 0 zurück). Für Browser-Kompatibilität können Sie sowohlwhichals auch die keyCode-Eigenschaft zusammen verwenden, um das zu lösen:
Tipp:Eine Liste aller Unicode-Zeichen finden Sie in unseremvollständigen Unicode-Referenzhandbuch。
Tipp:Wenn Sie einen Unicode-Wert in ein Zeichen umwandeln müssen, können Sie diefromCharCode()-Methode verwenden.
Hinweis:Diese Eigenschaft ist schreibgeschützt.
Hinweis:Die Eigenschaften which und keyCode bieten eine Möglichkeit, die Browserkompatibilität zu erreichen. Die neueste Version der DOM-Ereignisse empfiehlt, diekey-Eigenschaft zu verwenden, um diese Methode zu ersetzen.
Tipp:Wenn Sie prüfen möchten, ob die Taste "ALT", "CTRL", "META" oder "SHIFT" gedrückt wird, können Sie die altKey-, ctrlKey-, metaKey- oder shiftKey-Eigenschaft verwenden.
Browser-Unterstützung
| Eigenschaft | |||||
|---|---|---|---|---|---|
| keyCode | Ja | Ja | Ja | Ja | Ja |
Syntax
Technische Details
| Rückgabewert: | Eine Zahl, die einen Unicode-Zeichencode oder einen Unicode-Tastencode darstellt |
|---|---|
| DOM-Version: | DOM Level 2 Events |
Weitere Beispiele
Beispiel
Verwenden Sie onkeypress und onkeydown, um den Unterschied zwischen Zeichencodes und Tastencodes zu veranschaulichen:
function uniCharCode(event) {
var char = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "Unicode-ZEICHEN-Code: " + char;
}
function uniKeyCode(event) {
var key = event.keyCode;
document.getElementById("de2").innerHTML = "Unicode-TASTEN-Code: + key;
}
Wenn die "a"-Taste auf der Tastatur gedrückt wird (ohne Caps Lock), lautet die Ausgabe wie folgt:
Unicode-Tastencode: 65
Selbst ausprobieren »
Beispiel
Wenn die Esc-Taste gedrückt wird, erscheint eine Hinweismeldung:
Funktion myFunction(event) {
var x = event.keyCode;
if (x == 27) { // 27 ist die ESC-Taste
alert ("Sie haben die Escape-Taste gedrückt!");
}
}
Selbst ausprobieren »
Beispiel
Einen Unicode-Wert in ein Zeichen umwandeln (nicht für Funktionstasten verfügbar):
var y = String.fromCharCode(x); // Wert in ein Zeichen umwandeln
Selbst ausprobieren »
Verwandte
HTML-DOM-Referenzhandbuch:key-Ereignis-Eigenschaft
HTML-DOM-Referenzhandbuch:keyCode-Ereignis-Eigenschaft
HTML-DOM-Referenzhandbuch:which-Ereignis-Eigenschaft
Andere Erweiterungen
Event-Objekt