KeyboardEvent welche Eigenschaft
Beispiel
Rufen Sie den Unicode-Wert der gedrückten Tastaturtaste ab:
var x = event.which;
Weitere „Probieren Sie es selbst“-Beispiele weiter unten.
Definition und Verwendung
Die Eigenschaft which gibt den Unicode-Zeichencode der Taste zurück, die das Ereignis onkeypress ausgelöst hat , oder den Unicode-Tastencode der Taste, die das Ereignis onkeydown oder onkeyup ausgelöst hat .
Der Unterschied zwischen den beiden Codearten:
- Zeichencodes - Eine Zahl, die ein ASCII-Zeichen darstellt
- Tastencodes - Eine Zahl, die eine tatsächliche Taste auf der Tastatur darstellt
Diese Typen bedeuten nicht immer dasselbe; Beispielsweise haben ein kleines „w“ und ein großes „W“ denselben Tastaturcode, da die Taste, die auf der Tastatur gedrückt wird, dieselbe ist (nur „W“ = die Zahl „87“), aber eine andere Zeichencode, da das resultierende Zeichen anders ist (entweder "w" oder "W", was "119" oder "87" ist) - Siehe "Weitere Beispiele" unten, um es besser zu verstehen.
Tipp: Um herauszufinden, ob der Benutzer eine druckbare Taste drückt (z. B. "a" oder "5"), wird empfohlen, diese Eigenschaft für das onkeypress-Ereignis zu verwenden. Um herauszufinden, ob der Benutzer eine Funktionstaste (z. B. "F1", "CAPS LOCK" oder "Pos1") drückt, verwenden Sie das Ereignis onkeydown oder onkeyup.
Hinweis: Die Eigenschaft which wird in IE8 und früheren Versionen nicht unterstützt. Für diese Browserversionen können Sie die Eigenschaft keyCode verwenden . Die keyCode-Eigenschaft funktioniert jedoch nicht beim onkeypress-Ereignis in Firefox. Für eine browserübergreifende Lösung können Sie den folgenden Code verwenden:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
Tipp: Eine Liste aller Unicode-Zeichen finden Sie in unserer vollständigen Unicode-Referenz .
Tipp: Wenn Sie den zurückgegebenen Unicode-Wert in ein Zeichen konvertieren möchten, verwenden Sie die Methode fromCharCode() .
Hinweis: Diese Eigenschaft ist schreibgeschützt.
Hinweis: Sowohl die which- als auch die keyCode-Eigenschaft werden nur aus Kompatibilitätsgründen bereitgestellt. Die neueste Version der DOM-Ereignisspezifikation empfiehlt stattdessen die Verwendung der Schlüsseleigenschaft (falls verfügbar).
Tipp: Wenn Sie herausfinden möchten, ob bei einem Tastenereignis die Taste „ALT“, „CTRL“, „META“ oder „SHIFT“ gedrückt wurde, verwenden Sie die Eigenschaft altKey , ctrlKey , metaKey oder shiftKey .
Browser-Unterstützung
Die Zahlen in der Tabelle geben die erste Browserversion an, die die Eigenschaft vollständig unterstützt.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
Syntax
event.which
Technische Details
Rückgabewert: | Eine Zahl, die entweder einen Unicode-Zeichencode oder den Unicode-Tastencode darstellt |
---|---|
DOM-Version: | DOM-Level-2-Ereignisse |
Mehr Beispiele
Beispiel
Verwenden von onkeypress und onkeydown, um die Unterschiede zwischen Zeichencodes und Tastaturcodes zu demonstrieren:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
function uniCharCode(event) {
var char = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
Wenn Sie die Taste "a" auf der Tastatur drücken (ohne die Feststelltaste zu verwenden), lautet das Ergebnis von char und key :
Unicode CHARACTER code: 97
Unicode KEY code: 65
Beispiel
Benachrichtigen Sie einen Text, wenn der Benutzer die Escape-Taste drückt:
<input type="text" onkeydown="myFunction(event)">
function myFunction(event) {
var x = event.which || event.keyCode; // event.keyCode is used for IE8 and earlier
if (x == 27) { // 27 is the ESC key
alert ("You pressed the Escape key!");
}
}
Beispiel
Konvertieren Sie den Unicode-Wert in ein Zeichen (funktioniert nicht für Funktionstasten):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Verwandte Seiten
HTML-DOM-Referenz: KeyboardEvent-Schlüsseleigenschaft
HTML-DOM-Referenz: KeyboardEvent keyCode-Eigenschaft
HTML-DOM-Referenz: KeyboardEvent charCode-Eigenschaft