keypress
========

O evento **`keypress`** é disparado quando uma tecla que produz um valor do tipo caractere é pressionada. Exemplos de chaves que produzem um valor de caractere são chaves alfabéticas, numéricas e de pontuação. Exemplos de chaves que não produzem um valor de caractere são as teclas modificadoras, como `Alt`, `Shift`, `Ctrl`, ou `Meta`.

Informações gerais
------------------

Especificação

DOM L3 
Deprecated

Interface

KeyboardEvent (en-US)

Bolhas

sim

Cancelável

sim

Alvo

Documento, Elemento

Ação padrão

Varia: `keypress`evento; lançar sistema de composição de texto; `blur`e `focus`eventos; `DOMActivate`evento; outro evento

Propriedades
------------

| Propriedade | Tipo | Descrição |
| --- | --- | --- |
| `target` Somente leitura  | EventTarget | O destino do evento (o destino mais alto na árvore do DOM). |
| `type` Somente leitura  | DOMString | O tipo de evento. |
| `bubbles` Somente leitura  | boleano | Se o evento normalmente borbulha ou não |
| `cancelable` Somente leitura  | boleano | 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 focalizado processando o evento chave, elemento raiz se nenhum
 elemento de entrada adequado estiver focalizado.
  |
| `char` Somente leitura  | DOMString (string) | 
 O valor do caractere da chave. Se a chave corresponder a um caractere
 imprimível, esse valor será uma string Unicode não vazia contendo esse
 caractere. Se a chave não tiver uma representação imprimível, esta é uma
 string vazia. Veja
 nomes de chaves e valores de caracteres (en-US)
 para os detalhes.

**Nota:** Se a chave for usada como uma macro que insere
 vários caracteres, o valor desse atributo é a cadeia inteira, não
 apenas o primeiro caractere.
  |
| `key` Somente leitura  | DOMString (string) | 
 O valor-chave da chave representada pelo evento. Se o valor tiver uma
 representação impressa, o valor desse atributo será o mesmo da
 `char`propriedade. Caso contrário, é uma das cadeias de
 valores de chave (en-US)
 especificadas nos
 valores de chave (en-US)
 . Se a chave não puder ser identificada, seu valor será a string
 "Unidentified". Veja
 os nomes das chaves e os valores de caracteres (en-US)
 para mais detalhes. Somente leitura.
  |
| `code` Somente leitura  | DOMString (string) | 
 Contém uma string que identifica a tecla física sendo pressionada. O
 valor não é afetado pelo layout do teclado atual ou pelo estado do
 modificador, portanto, uma chave específica sempre retornará o mesmo
 valor.
  |
| `charCode` Somente leitura  | Longo não assinado (int) | 
 O número de referência Unicode da chave; esse atributo é usado apenas
 pelo
 `keypress` (en-US)evento. Para chaves cujo `char`atributo contém vários
 caracteres, esse é o valor Unicode do primeiro caractere nesse atributo.

**Aviso:** este atributo está obsoleto; você deve usar em
 `char`vez disso, se disponível.
  |
| `keyCode` Somente leitura  | Longo não assinado (int) | 
 Um código numérico dependente do sistema e da implementação que
 identifica o valor não modificado da tecla pressionada. Este é
 geralmente o código ASCII decimal (RFC 20) ou Windows 1252
 correspondente à chave; veja
 Códigos de teclas virtuais
 para uma lista de valores comuns. Se a chave não puder ser identificada,
 esse valor será 0.

**Aviso:** este atributo está obsoleto; você deve usar em
 `key`vez disso, se disponível.
  |
| `which` Somente leitura  | Longo não assinado (int) | 
 Um código numérico dependente do sistema e da implementação
 identificando o valor não modificado da tecla pressionada; isso
 geralmente é o mesmo que `keyCode`.

**Aviso:** este atributo está obsoleto; você deve usar em
 `key`vez disso, se disponível.
  |
| `location` Somente leitura  | longo (flutuar) | A localização da chave no dispositivo. |
| `repeat` Somente leitura  | boleano | `true`se uma tecla foi pressionada o tempo suficiente para
 disparar a repetição da tecla, caso contrário `false`.
  |
| `locale` Somente leitura  | corda | 
 O código do idioma para o evento principal, se disponível; caso
 contrário, a cadeia vazia.
  |
| `ctrlKey` Somente leitura  | boleano | `true`se a chave de controle estava inativa quando o evento
 foi disparado. `false`de outra forma.
  |
| `shiftKey` Somente leitura  | boleano | `true`se a tecla shift estava inativa quando o evento foi
 disparado. `false`de outra forma.
  |
| `altKey` Somente leitura  | boleano | `true`se a tecla ALT estava desativada quando o evento foi
 disparado. `false`de outra forma.
  |
| `metaKey` Somente leitura  | boleano | `true`se a meta key estava desativada quando o evento foi
 disparado. `false`de outra forma.
  |

Exemplo
-------


```js
document.addEventListener ('keypress', (event) => {
  const keyName = event.key;
  alert ('keypress event \ n \ n' + 'chave:' + nome da chave);
});
```

Compatibilidade com navegadores
-------------------------------

O Chrome não dispara o `keypress`evento para atalhos de teclado conhecidos ( referência ). Quais atalhos de teclado são conhecidos depende do sistema do usuário. Use o `keydown`evento para implementar atalhos de teclado.

Eventos Relacionados
--------------------

* `keydown (en-US)`
* `keyup (en-US)`
* `keypress (en-US)`
* `input (en-US)`