Quando um evento de teclado é disparado é possível capturar informações da tecla que foi pressionada como o caractere que ela imprime e seu respectivo código. este comportamento possibilita, por exemplo, criar mecanismo de controle tem um jogo, atribuindo uma determinada tecla a um movimento específico do personagem.
Sabendo disso selecione nas opções abaixo aquela que descreve corretamente os dois parâmetros que podem ser lidos do objeto que representa o evento disparado e representam os dados da tecla pressionada.
Alternativas:
a)
pressedChar e codeKey.
b)
keyChar e codePressed.
c)
eventKey e codeEvent.
d)
key e keyCode.
e)
pressedKey e idCode.
Respostas
Resposta:
Explicação:
D) key e keyCode
Para obter o valor e o código da tecla pressionada em qualquer local no documento HTML, podemos utilizar o código JavaScript abaixo, que utiliza o evento keypress:
document.body.addEventListener('keypress', function (event) {
const key = event.key;
const code = event.keyCode;
console.log(`Key: ${key}, Code ${code}`);
});
Outra forma de realizar a captura do código e valor da tecla é utilizando o evento keydown:
document.body.addEventListener('keydown', function (event) {
const key = event.key;
const code = event.keyCode;
console.log(`Key: ${key}, Code ${code}`);
});
A diferença entre as duas formas apresentadas, é que o evento keypress dispara somente se a teclas produzir valor do tipo caractere, já o evento keydown dispara mesmo se a tecla não produzir valor de caractere, veja alguns exemplos de teclas que não produz valor do tipo caractere:
Shift;
Tab;
CapsLock;
Alt;
Backspace;
ArrowRight;
ArrowDown;
ArrowUp; e
ArrowLeft.