Olhando o Forum vi que um colega notou que se clicarmos rapidamente tab e espaço ou enter, as teclas podem ficar ativas. Ele até colcou um "else" abaixo de quando ativamos as teclas. Fiz o teste e realmente fica ativa. Qual o motivo delas ficarem ativas?
const listaDeTeclas = document.querySelectorAll('input[type=button]');
const inputTel = document.querySelector('input[type=tel]');
for(var i = 0; i < listaDeTeclas.length; i++){
const tecla = listaDeTeclas[i];
tecla.onclick = function () {
inputTel.value = inputTel.value + tecla.value;
}
tecla.onkeydown = function (event) {
if(event.code === "Enter" || event.code === "Space"){
tecla.classList.add('ativa');
}else {
tecla.classList.remove('ativa');
}
}
tecla.onkeyup = function (){
tecla.classList.remove('ativa');
}
}