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;

Versuchen Sie es selbst

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

Versuchen Sie es selbst

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!");
  }
}

Versuchen Sie es selbst

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

Versuchen Sie es selbst

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