Tendo exatamente o mesmo codigo do projeto final, por se tratar de um onkeydown para adicionar a class ativa e depender exclusivamente do onkeyup para remover a classe, temos o seguinte comportamento inesperado:
Caso o usuario mantenha pressionado a tecla Enter ou Space e antes de a soltar clicar com o mouse em outra tecla ou em qualquer elemento do site, nao houve o evento de remover a class ativa da tecla, fazendo ela continuar vermelha, deste modo eh possivel pintar todo o teclado de vermelho...
Alguem sabe como resolver?
tecla.onkeydown = function (evento) {
if(evento.code === 'Space' || evento.code === 'Enter'){
tecla.classList.add('ativa');
}
else
tecla.classList.remove('ativa');
}
tecla.onkeyup = function (evento) {
if(evento.code === 'Space' || evento.code === 'Enter'){
tecla.classList.remove('ativa');
}
}
Baixar o projeto: https://github.com/alura-cursos/aluramidi-curso/archive/refs/heads/aula5.zip