Beispiel
Holen Sie den Unicode-Wert der gedrückten Tastaturtaste:
var x = event.which;
Das Ergebnis von x könnten sein:
119 // 119 is the character
"w"
Versuch es selber " Mehr "Try it Yourself" Sie "Try it Yourself" Beispiele unten.
Definition und Verwendung
Die welche Eigenschaft gibt den Unicode - Zeichencode des Schlüssels, die ausgelöst onkeypress Ereignis oder den Unicode - Schlüsselcode des Schlüssels, die ausgelöst onkeydown oder onkeyup Ereignis.
Der Unterschied zwischen den beiden Codetypen:
- Zeichencodes - eine Zahl, die ein ASCII-Zeichen repräsentiert
- Tastencodes - Eine Zahl, die eine tatsächliche Taste auf der Tastatur darstellt
Diese Arten bedeuten nicht immer dasselbe; beispielsweise ein Kleinbuchstabe "w" und ein oberes Gehäuse "W" haben den gleichen Tastaturcode, da der Schlüssel , die auf der Tastatur gedrückt wird , das gleiche ist (just "W" = the number "87") , aber ein unterschiedliche Zeichencode , da das resultierende Zeichen unterscheidet (entweder "w" oder "W" , das ist "119" oder „87“) - Siehe "More Examples" unten besser zu verstehen.
Tipp: Um herauszufinden , ob der Benutzer eine druckbare Taste (zB Taste "a" oder „5“), wird empfohlen , diese Eigenschaft auf dem onkeypress Ereignis zu verwenden. Um herauszufinden , ob der Benutzer eine Funktionstaste (zB "F1" , "CAPS LOCK" oder „Home“) verwenden , um die onkeydown oder onkeyup Ereignis.
Hinweis: Die Eigenschaft , die nicht in IE8 und früher unterstützt. Für diese Browser - Versionen können Sie die Verwendung keyCode Eigenschaft. Allerdings ist die keyCode Eigenschaft auf dem onkeypress Ereignisse in Firefox nicht funktionieren. Für eine Cross-Browser-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 auf unserer Studie Vollständige Unicode Referenz .
Tipp: Wenn Sie den zurückgegebenen Unicode - Wert in ein Zeichen umwandeln möchten, verwenden Sie die fromCharCode() Methode.
Hinweis: Diese Eigenschaft ist schreibgeschützt.
Hinweis: Sowohl die , die und keyCode Eigenschaft wird nur für die Kompatibilität zur Verfügung gestellt. Die neueste Version der DOM - Event Spezifikation empfiehlt die Verwendung von Schlüsseleigenschaft statt (if available) .
Tipp: Wenn Sie heraus , ob das finden wollen "ALT" , "CTRL" , "META" oder "SHIFT" -Taste gedrückt wurde , wenn ein Schlüsselereignis aufgetreten, verwenden Sie die altKey , ctrlKey , metaKey oder shiftKey Eigenschaft.
Browser-Unterstützung
Die Zahlen in der Tabelle geben Sie die erste Browser-Version, die die Eigenschaft vollständig unterstützt.
Eigentum | |||||
---|---|---|---|---|---|
which | Ja | 9.0 | Ja | Ja | Ja |
Syntax
event .which
Technische Details
Rückgabewert: | Eine Zahl ist, entweder einen Unicode-Zeichencode oder den Unicode Schlüsselcode repräsentierte |
---|---|
DOM Version: | DOM Level 2 Veranstaltungen |
Mehr Beispiele
Beispiel
Mit onkeypress und onkeydown die Unterschiede zwischen den 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 die Druck "a" auf der Tastatur - Taste (not using caps lock) , wird das Ergebnis der Zeichen und Schlüssel:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
Versuch es selber " Beispiel
Alarmieren Sie etwas 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!");
}
}
Versuch es selber " Beispiel
Wandeln Sie den Unicode - Wert in ein Zeichen (does not work for function keys) :
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Versuch es selber " Verwandte Seiten
HTML - DOM - Referenz: KeyboardEvent key Property
HTML - DOM - Referenz: KeyboardEvent keyCode Property
HTML - DOM - Referenz: KeyboardEvent charCode Property
<Ereignisobjekt