Tecla seta para cima em JavaScript

Para Seta para cima, event.key é ArrowUp, event.code é ArrowUp e o keyCode obsoleto é 38. Pressione qualquer tecla no Key Code Finder para ver seus valores em tempo real.

Atualizado em

PropriedadeValor
event.keyArrowUp
event.codeArrowUp
event.keyCode / which (obsoleto)38

Como detectar a seta para cima

document.addEventListener('keydown', (event) => {
  if (event.key === "ArrowUp") {
    // Arrow Up was pressed
  }
});

Use event.key para reagir ao significado da tecla (ele segue o layout do teclado) e event.code para sua posição física, por exemplo WASD em jogos. keyCode e which são obsoletos: ainda funcionam, mas seus valores variam entre navegadores e layouts.

Como os navegadores tratam a seta para cima

As teclas de seta rolam a página e movem o cursor de texto. Em listboxes, menus e grades personalizados, trate-as para mover o foco entre os itens — e chame preventDefault() para que a página não role ao mesmo tempo.

No React

<input onKeyDown={(e) => { if (e.key === "ArrowUp") { /* … */ } }} />

Perguntas frequentes

Qual é o keyCode da seta para cima?
38. Ele é obsoleto, porém: use event.key (“ArrowUp”) ou event.code (ArrowUp) em código novo.
Qual a diferença entre event.key e event.code?
event.key é o caractere ou ação que a tecla produz com o layout atual; event.code é a posição física da tecla, igual em qualquer layout.
Devo usar keydown ou keypress?
keydown. O evento keypress é obsoleto e não dispara para teclas que não produzem caracteres, como Escape ou as setas.