Códigos de tecla·ArrowLeft
ArrowLeft
ArrowLeft
keyCode 37

Tecla ArrowLeft — keyCode 37 (JS)

Navegação

ArrowLeft tem keyCode 37 e key ArrowLeft, em location 1.

Não digitam nada; só movem o cursor.

code (posição)
ArrowLeft
key (layout dos EUA)
ArrowLeft
keyCode (obsoleto)
37
Hexadecimal
0x25
location
1 · Esquerda
Digita um caractere
Não
Divide keyCode com
Nenhum

No código

Comparar com code continua funcionando mesmo se o layout mudar.

window.addEventListener('keydown', e => {
  if (e.code === 'ArrowLeft') {
    // ArrowLeft
  }
});

code versus key

code é a posição física, a mesma num teclado coreano ou francês. key é o que se digita e muda — o mesmo lugar dá a, A ou ㅁ. Use code para saber qual lugar foi pressionado e key para saber o que entrou.

keyCode saiu do padrão. Escreva código novo com code ou key; os números daqui servem para ler código antigo.

Teclas do mesmo tipo

Como ler

  • code é a posição e key o caractere digitado. Para atalhos, compare com code.
  • keyCode está obsoleto; use apenas para ler código antigo.
  • Shift esquerdo e direito dividem o keyCode e se separam por location.
  • O 1 da linha e o 1 do teclado numérico são teclas diferentes: 49 e 97.

Perguntas frequentes

Q. Qual é o keyCode de ArrowLeft?

37, ou 0x25 em hexadecimal.

Q. Como detecto ArrowLeft no código?

Compare com e.code === 'ArrowLeft'. Comparar por keyCode oscila entre navegadores e layouts.

Q. Qual é o location desta tecla?

1.

Q. Esta tecla digita um caractere?

Não. key é ArrowLeft e nada é digitado.