KeyboardEvent keyCode 属性
定义和用法
keyCode 属性返回触发 onkeypress begivenhed 的按键的 Unicode 字符代码,或触发 onkeydown eller onkeyup begivenhed 的按键的 Unicode 按键代码。
两种代码类型的区别:
- 字符代码 - 代表 ASCII 字符的数字
- Tastekode - repræsenterer det numeriske tal for den faktiske tast på tastaturet
Disse typer betyder ikke nødvendigvis det samme. For eksempel er de numeriske tastekoder for småt "w" og stort "W" de samme, fordi tasten, der er trykket ned, er den samme ("W" = tal "87"), men tegnkode er forskellige, fordi det resulterende tegn er forskelligt ("w" eller "W", altså "119" eller "87") - se de flere eksempler nedenfor for at få en bedre forståelse af dette.
Bemærk:For at finde ud af, om brugeren har trykket på en trykbar tast (f.eks. "a" eller "5"), anbefales det at bruge denne egenskab på onkeypress-ændelsen. For at finde ud af, om brugeren har trykket på en funktionstast (f.eks. "F1", "CAPS LOCK" eller "Home"), brug onkeydown eller onkeyup-ændelser.
Kommentar:I Firefox fungerer keyCode-egenskaben ikke for onkeypress-ændelser (returnerer kun 0). For en krosbrowserløsning skal du bruge which-egenskabBrug sammen med keyCode, f.eks.:
var x = event.which || event.keyCode; // Brug af which eller keyCode afhænger af browserens støtte
Bemærk:For en liste over alle Unicode-tegn, se vores Komplet Unicode reference.
Bemærk:Hvis du vil konvertere en Unicode-værdi til et tegn, skal du bruge fromCharCode() metoden.
Kommentar:Denne egenskab er kun læsebeskyttet.
Kommentar:keyCode- og which-egenskaber er kun til kompatibilitet. Den nyeste version af DOM-ændelsestandarden anbefaler at bruge key-egenskaben i stedet (hvis tilgængelig).
Bemærk:Hvis du vil vide, om "ALT", "CTRL", "META" eller "SHIFT"-tasten er blevet trykket ned ved en tastaturhændelse, brug altKeyogctrlKey/ ellermetaKey eller shiftKey Egenskaber.
Eksempel
Eksempel 1
Få Unicode-værdien for den trykte tast, der er trykket ned:
var x = event.keyCode;
Eksempel 2
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; document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char; } function uniKeyCode(event) { var key = event.keyCode; document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key; }
Når du trykker på tasten "a" på tastaturet (uden at bruge Capslock), vil char og keys resultaterne være:
Unicode CHARACTER code: 97 Unicode KEY code: 65
Eksempel 3
Hvis brugeren trykker Escape-tasten, vises nogle tekst:
<input type="text" onkeydown="myFunction(event)"> function myFunction(event) { var x = event.keyCode; if (x == 27) { // 27 er ESC tasten alert("Du trykkede Escape-tasten!"); } }
Eksempel 4
Konverter Unicode værdien til et tegn (ikke til funktionstaster):
var x = event.keyCode; // Få Unicode værdien var y = String.fromCharCode(x); // Konverter værdien til et tegn
Syntaks
event.keyCode
Tekniske detaljer
Returværdi: | Numeriske værdier, der repræsenterer Unicode tegnkode eller Unicode tastekode. |
---|---|
DOM version: | DOM Level 2 Events |
Browser support
Egenskaber | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
keyCode | Support | Support | Support | Support | Support |
Relaterede sider
HTML DOM Reference Manual:KeyboardEvent key egenskab
HTML DOM Reference Manual:KeyboardEvent charCode egenskab
HTML DOM Reference Manual:KeyboardEvent which egenskab