tutoriais mais recente desenvolvimento web
 

KeyboardEvent which Property

<Objeto de evento

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

Exemplos

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