Document: keyup event
O evento keyup é acionado quando a tecla é liberada.
| Bubbles | Sim |
|---|---|
| Cancelável | Sim |
| Interface | KeyboardEvent |
| Event handler propriedade |
onkeyup
|
Os eventos keydown e keyup fornecem um código indicando quando a tecla é pressionada, enquanto o keypress indica quando um character é inserido. Por exemplo, a letra minúscula "a", sera reportado como 65 por keydown e keyup, mas é 95 por keypress. Uma letra maiúscula é reportado como 65 por todos os eventos.
Nota:
Se você está procurando por uma maneira de reagir a mudanças no valor de um input, você deve usar o input event. Algumas mudanças não são detectaveis por keyup, por exemplo, colar um texto de um contexto no input de texto.
Exemplos
Este exemplo registra o valor KeyboardEvent.code sempre que soltar a tecla.
addEventListener keyup exemplo
<p>
Focus the IFrame first (e.g. by clicking in it), then try pressing some keys.
</p>
<p id="log"></p>
const log = document.getElementById("log");
document.addEventListener("keyup", logKey);
function logKey(e) {
log.textContent += ` ${e.code}`;
}
onkeyup equivalent
document.onkeyup = logKey;
Ignorando o keyup durante IME composition
é Input Method Editor (IME) é um programa que permite usuários inserir caracteres que não são suportados pelo teclado usando alguma outra combinação de tecla.
Desde Firefox 65, os eventos keydown e keyup agora são disparados durante IME composition, para melhorar a compatibildiade cross-browser para usuários CJKT Erro do Firefox 354358. Para ignorar todos eventos keyup que são partes do composition, faça algo como isso (229 é um valor especial definido para o keyCode relacionando a um evento que sera processado no IME):
eventTarget.addEventListener("keyup", (event) => {
if (event.isComposing || event.keyCode === 229) {
return;
}
// do something
});