Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

keydown

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

O evento keydown é disparado quando uma tecla é pressionada. Diferente do evento keypress, o keydown é disparado para teclas que produzem e que não produzem um caractere.

Informações gerais

Especificação

DOM L3

Interface

KeyboardEvent

Burbulha

Sim

Cancelável

Sim

Alvo

Document, Element

Ação Padrão

Variações: evento keypress; carrega sistema de composição de texto; eventos blur e focus; evento DOMActivate; outro evento

Propriedades

Propriedade Tipo Descrição
target Somente leitura EventTarget O alvo do evento (o alvo de nível mais alto na árvore DOM).
type Somente leitura DOMString O tipo do evento.
bubbles Somente leitura Boolean Se o evento normalmente burbulha ou não
cancelable Somente leitura Boolean Se o evento é cancelável ou não
view Somente leitura WindowProxy document.defaultView (window do documento)
detail Somente leitura long (float) 0.
target Somente leitura EventTarget (elemento DOM) Elemento focado processando o evento, elemento raiz se nenhum elemento input adequado está focado.
char Somente leitura DOMString (string) O caractere correspondente à tecla. Se a tecla corresponde a um caractere imprimível, este valor é uma string Unicode não vazia, contendo o caractere. Se a tecla não tem uma representação imprimível, o valor é uma string vazia. Veja key names and char values para detalhes.
Nota: Se a tecla for usada como uma macro que insere múltiplos caracteres, o valor deste atributo é toda a string, não apenas o primeiro caractere.
key Somente leitura DOMString (string) O valor da tecla pressionada. Se a tecla tem uma representação imprimível, o valor deste atributo é o mesmo do atributo char. Caso contrário, é uma das strings key especificadas em Key Values. Se a tecla não pode ser identificada, o valor do atributo é a string "Unidentified". Veja key names and char values para detalhes. Somente Leitura.
code Somente leitura DOMString (string) Mantém uma string que identifica a tecla física sendo pressionada. O valor não é afetado pelo layout atual do teclado ou estado de modificador, portando uma tecla particular sempre retornará o mesmo valor.
charCode Somente leitura Unsigned long (int) O número de referência Unicode da tecla; este atributo é usado somente pelo evento keypress. Para teclas cujo atributo char contém múltiplos caracteres, este é o valor Unicode do primeiro caractere daquele atributo.
Aviso: Este atributo está obsoleto; você deve usar char no lugar, se disponível.
keyCode Somente leitura Unsigned long (int) Um código numérico, dependente do sistema e da implementação, identificando o valor não modificado da tecla pressionada. Este é usualmente o código decimal ASCII (RFC 20) ou código Windows 1252 correspondente à tecla; veja Virtual key codes para uma lista de valores comuns. Se a tecla não pode ser identificada, este valor é 0.
Aviso: Este atributo está obsoleto; você deve usar key no lugar, se disponível.
which Somente leitura Unsigned long (int) Um código numérico, dependente do sistema e da implementação, identificando o valor não modificado da tecla pressionada; este é usualmente o mesmo que keyCode.
Aviso: Este atributo está obsoleto; você deve usar key no lugar, se disponível.
location Somente leitura long (float) A localização da tecla no dispositivo.
repeat Somente leitura boolean true se a tecla foi pressionada tempo suficiente para disparar repetição de tecla, false caso contrário.
locale Somente leitura string O código do idioma para o evento, se disponível; uma string vazia caso contrário.
ctrlKey Somente leitura boolean true se a tecla control estava pressionada quando o evento foi disparado. false caso contrário.
shiftKey Somente leitura boolean true se a tecla shift estava pressionada quando o evento foi disparado. false caso contrário.
altKey Somente leitura boolean true se a tecla alt estava pressionada quando o evento foi disparado. false caso contrário.
metaKey Somente leitura boolean true se a tecla meta estava pressionada quando o evento foi disparado. false caso contrário.

preventDefault() do evento keydown

Iniciando com o Gecko 25, uma chamada para o método preventDefault() do evento keydown evita dispachar o evento keypress seguinte. Este é um comportamento válido para a especificação D3E e os principais navegadores web se comportam desta forma. Por outro lado, o Gecko 24 e anteriores dispachavam o evento keypress mesmo que o método preventDefault() do evento keydown anterior fosse chamado, embora o atributo defaultPrevented do evento keypress fosse true neste caso.

Eventos Relacionados

Exemplo

<!DOCTYPE html>
<html>
<head>
<script>

'use strict';

document.addEventListener('keydown', (event) => {
  const keyName = event.key;
  alert('keydown event\n\n' + 'key: ' + keyName);
});

</script>
</head>
<body>
</body>
</html>