KeyboardEvent which-egenskab
Definition og brug
which-egenskaben returnerer udløse onkeypress begivenhed tastens Unicode-tegnkode, eller udløse onkeydown eller onkeyup Tastens Unicode-tastekode for begivenheden
Forskellen mellem de to kodeTyper:
- Tegnkode - repræsenterer det numeriske ASCII-tegn
- Tastekode - repræsenterer det numeriske tast på tastaturet
Disse typer betyder ikke altid det samme. For eksempel er tastekoden for lille "w" og stor "W" den samme, fordi tasten, der trykkes på, er den samme ("W" = tal "87"), men tegnkode er forskellig, fordi det resulterende tegn er forskelligt ("w" eller "W", dvs. "119" eller "87") - se nedenstående flere eksempler for at få en bedre forståelse.
Tips:Hvis du vil vide, om brugeren har trykket på en tast, der kan udskrives (f.eks. "a" eller "5"), anbefales det at bruge denne egenskab på onkeypress-tilsagn. For at finde ud af, om brugeren har trykket på en funktionstast (f.eks. "F1", "CAPS LOCK" eller "Home"), skal du bruge onkeydown- eller onkeyup-tilsagn.
Kommentar:IE8 og tidligere versjoner støtter ikke which-egenskapen. For disse nettleserversjonene kan du bruke keyCode-egenskapen. Men keyCode-egenskapen fungerer ikke for onkeypress-hendelse i Firefox. For en kryssebrowser-løsning kan du bruke følgende kode:
var x = event.which || event.keyCode; // Bruk which eller keyCode avhengig av nettleserstøtte
Tips:For en liste over alle Unicode-tegn, se vår Full Unicode referanse.
Tips:Hvis du vil konvertere Unicode-verdien til et tegn, bruk fromCharCode() metoden.
Kommentar:Denne egenskapen er skrivebeskyttet.
Kommentar:keyCode- og which-egenskapene er kun tilgjengelige for kompatibilitet. Den nyeste versjonen av DOM hendelsesspesifikasjonen anbefaler å bruke key-egenskapen (hvis tilgjengelig).
Tips:Hvis du vil vide om "ALT", "CTRL", "META" eller "SHIFT"-tasten ble trykket når tastetrykket skjedde, bruk altKeyogctrlKeyogmetaKey eller shiftKey egenskap.
Eksempel
Få tak i Unicode-verdien til den trykte tasten:
var x = event.which;
Der er flere TIY-eksempler nedenfor på siden.
Syntaks
event.which
Teknisk detalj
Returverdi: | Numeriske verdier som representerer Unicode tegnkode eller Unicode tastaturkode. |
---|---|
DOM versjon: | DOM Level 2 Events |
Nettleserstøtte
Tallene i tabellen angiver den første nettleserversjon som fullt ut støtter egenskapen.
Egenskab | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
which | Supporteret | 9.0 | Supporteret | Supporteret | Supporteret |
Flere eksempler
Eksempel
Brug af onkeypress og onkeydown til at demonstrere forskellen mellem tegnkode og tastaturkode:
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)"> function uniCharCode(event) { var char = event.which || event.keyCode; // event.keyCode bruges i IE8 og tidligere versioner document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.which || event.keyCode; // event.keyCode bruges i IE8 og tidligere versioner document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
Når du trykker på tasten "a" på tastaturet (uden at bruge Capslock), vil char og key-værdierne være:
Unicode CHARACTER code: 97 Unicode KEY code: 65
Eksempel
Vis nogle tekster, hvis brugeren trykker på Escape-tasten:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.which || event.keyCode; // event.keyCode bruges i IE8 og tidligere versioner if (x == 27) { // 27 er ESC-tasten alert("Du trykkede Escape-tasten!"); } }
Eksempel
Konverter Unicode-værdien til et tegn (ikke anvendeligt for funktionstaster):
var x = event.which || event.keyCode; // Få Unicode-værdien var y = String.fromCharCode(x); // Konverter værdien til et tegn
Relaterede sider
HTML DOM referencehåndbog:KeyboardEvent key egenskab
HTML DOM referencehåndbog:KeyboardEvent keyCode egenskab
HTML DOM referencehåndbog:KeyboardEvent charCode egenskab