Exemplo
Obter o valor Unicode do tecla do teclado pressionado:
var x = event.which;
O resultado x poderia ser:
119 // 119 is the character
"w"
Tente você mesmo " Mais "Try it Yourself" exemplos abaixo.
Definição e Uso
O que a propriedade retorna o código de caracteres Unicode da chave que desencadeou a onkeypress evento, ou o código de chave Unicode da chave que desencadeou a onkeydown ou onkeyup evento.
A diferença entre os dois tipos de código:
- códigos de caracteres - Um número que representa um caractere ASCII
- Os códigos de chave - Um número que representa uma key no teclado
Estes tipos nem sempre significam a mesma coisa; por exemplo, um caso inferior "w" e uma capa superior "W" têm o mesmo código de teclado, porque a chave que é pressionada no teclado é o mesmo (just "W" = the number "87") , mas um diferente código de caracteres porque o personagem resultante é diferente (ou "w" ou "W" , que é "119" ou "87") - Veja "More Examples" abaixo para melhor compreendê-lo.
Dica: Para saber se o usuário está pressionando uma tecla de impressão (por exemplo, "a" ou "5"), recomenda-se usar essa propriedade no evento onkeypress. Para saber se o usuário está pressionando uma tecla de função (por exemplo, "F1" , "CAPS LOCK" ou "Home") usar o onkeydown ou onkeyup evento.
Nota: O que a propriedade não é suportado no IE8 e anteriores. Para essas versões do navegador, você pode usar o keyCode propriedade. No entanto, a propriedade keyCode não funciona no evento onkeypress no Firefox. Para uma solução cross-browser, você pode usar o seguinte código:
var x = event.which || event.keyCode; // Use either which or keyCode ,
depending on browser support
Dica: Para obter uma lista de todos os caracteres Unicode, por favor estudar a nossa completa Unicode Reference .
Dica: Se você deseja converter o valor Unicode devolvidos em um personagem, use o fromCharCode() método.
Nota: Esta propriedade é somente leitura.
Nota: Tanto o qual e keyCode propriedade é fornecida apenas para compatibilidade. A última versão da especificação de eventos DOM recomendável usar o key propriedade em vez (if available) .
Dica: Se você quiser descobrir se o "ALT" , "CTRL" , "META" ou "SHIFT" tecla foi pressionada quando um evento chave ocorreu, use o altKey , ctrlKey , metakey ou shiftKey propriedade.
Suporte navegador
Os números na tabela especificar a primeira versão do navegador que suporta totalmente a propriedade.
Propriedade | |||||
---|---|---|---|---|---|
which | sim | 9 | sim | sim | sim |
Sintaxe
event .which
Detalhes técnicos
Valor de retorno: | Um número, que representa tanto um código de caracteres Unicode ou o código de chave Unicode |
---|---|
DOM Versão: | DOM Nível 2 Eventos |
mais Exemplos
Exemplo
Usando onkeypress e onkeydown para demonstrar as diferenças entre códigos de caracteres e códigos de teclado:
<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;
}
Ao pressionar o "a" tecla no teclado (not using caps lock) , o resultado de carvão e chave será:
Unicode CHARACTER code: 97
Unicode KEY
code: 65
Tente você mesmo " Exemplo
Alertar algum texto se o usuário pressiona a tecla Escape:
<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!");
}
}
Tente você mesmo " Exemplo
Converter o valor Unicode em um personagem (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
Tente você mesmo " Páginas relacionadas
HTML DOM referência: KeyboardEvent key Property
HTML DOM referência: KeyboardEvent keyCode Property
HTML DOM referência: KeyboardEvent charCode Property
<Objeto de evento