1
resposta

[Sugestão] Solução: se você apertar Rapido demais os botões as vezes a tecla continua pressionada, dessa forma que eu fiz aparentemente corrigiu.

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');
 }
}

Colocando um else após o if impede que as teclas fiquem amarelas, pois ele reforça a remoção da classe ativa. Só uma sugestão caso mais alguém fique encucado com isso como eu fiquei.

1 resposta

Boa Gabriel!

Bons estudos aí!

Att.