KeyboardGebeurtenis watter eiendom
Voorbeeld
Kry die Unicode-waarde van die gedrukte sleutelbordsleutel:
var x = event.which;
Meer "Probeer dit self" voorbeelde hieronder.
Definisie en gebruik
Die which-eienskap gee die Unicode-karakterkode terug van die sleutel wat die onkeypress- gebeurtenis geaktiveer het, of die Unicode-sleutelkode van die sleutel wat die onkeydown- of onkeyup- gebeurtenis geaktiveer het.
Die verskil tussen die twee kodetipes:
- Karakterkodes - 'n Getal wat 'n ASCII-karakter verteenwoordig
- Sleutelkodes - 'n Getal wat 'n werklike sleutel op die sleutelbord verteenwoordig
Hierdie tipes beteken nie altyd dieselfde nie; byvoorbeeld, 'n kleinletter "w" en 'n hoofletter "W" het dieselfde sleutelbordkode, want die sleutel wat op die sleutelbord gedruk word is dieselfde (net "W" = die nommer "87"), maar 'n ander karakterkode omdat die resulterende karakter anders is (óf "w" of "W", wat "119" of "87 is") - Sien "Meer voorbeelde" hieronder om dit beter te verstaan.
Wenk: Om uit te vind of die gebruiker 'n drukbare sleutel (bv. "a" of "5") druk, word dit aanbeveel om hierdie eiendom op die onkeypress-geleentheid te gebruik. Om uit te vind of die gebruiker 'n funksie sleutel druk (bv. "F1", "CAPS LOCK" of "Home") gebruik die onkeydown of onkeyup gebeurtenis.
Let wel: Die watter eiendom word nie in IE8 en vroeër ondersteun nie. Vir hierdie blaaierweergawes kan jy die keyCode- eienskap gebruik. Die keyCode-eienskap werk egter nie op die onkeypress-gebeurtenis in Firefox nie. Vir 'n kruisblaaieroplossing kan jy die volgende kode gebruik:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
Wenk: Vir 'n lys van alle Unicode-karakters, bestudeer asseblief ons volledige Unicode-verwysing .
Wenk: As jy die teruggekeerde Unicode-waarde in 'n karakter wil omskakel, gebruik die fromCharCode() -metode.
Let wel: Hierdie eiendom is leesalleen.
Let wel: Beide die which en keyCode eiendom word slegs vir versoenbaarheid verskaf. Die nuutste weergawe van die DOM Events Spesifikasie beveel aan om eerder die sleuteleienskap te gebruik (indien beskikbaar).
Wenk: As jy wil uitvind of die "ALT", "CTRL", "META" of "SHIFT" sleutel gedruk is toe 'n sleutelgebeurtenis plaasgevind het, gebruik die altKey , ctrlKey , metaKey of shiftKey eiendom.
Blaaierondersteuning
Die nommers in die tabel spesifiseer die eerste blaaierweergawe wat die eiendom ten volle ondersteun.
Property | |||||
---|---|---|---|---|---|
which | Yes | 9.0 | Yes | Yes | Yes |
Sintaksis
event.which
Tegniese besonderhede
Terugkeerwaarde: | 'n Nommer wat óf 'n Unicode-karakterkode óf die Unicode-sleutelkode verteenwoordig |
---|---|
DOM weergawe: | DOM Vlak 2 Gebeurtenisse |
Meer voorbeelde
Voorbeeld
Gebruik onkeypress en onkeydown om die verskille tussen karakterkodes en sleutelbordkodes te demonstreer:
<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;
}
Wanneer die "a"-sleutel op die sleutelbord gedruk word (nie gebruik van caps lock nie), sal die resultaat van char en key wees:
Unicode CHARACTER code: 97
Unicode KEY code: 65
Voorbeeld
Waarsku 'n bietjie teks as die gebruiker die Escape-sleutel druk:
<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!");
}
}
Voorbeeld
Skakel die Unicode-waarde om in 'n karakter (werk nie vir funksiesleutels nie):
var x = event.which || event.keyCode; // Get the Unicode value
var y = String.fromCharCode(x); // Convert the value into a character
Verwante bladsye
HTML DOM verwysing: KeyboardEvent sleutel Eienskap
HTML DOM-verwysing: KeyboardEvent keyCode Property
HTML DOM-verwysing: KeyboardEvent charCode Property