Olá, Raphael! Tudo bem?
Pelo que observei no seu código, parece que há dois pontos que precisam ser corrigidos.
Primeiro, o método querySelectorAll
retorna uma lista de nós, mas o método play()
não pode ser chamado diretamente na lista, ele deve ser chamado em um único elemento. Então, você precisa especificar qual elemento da lista você quer que o som seja reproduzido. Por exemplo, se você quiser que o som seja reproduzido no primeiro elemento que corresponde ao seletor "#som_tecla_pom", você pode fazer assim:
document.querySelector("#som_tecla_pom").play();
O segundo ponto é sobre o loop while
. No seu código, você está usando o operador de atribuição (=) ao invés do operador de comparação (== ou ===). Portanto, o loop while
nunca termina porque a condição contador = 9
sempre retorna 9, que é um valor true(verdadeiro). Para corrigir isso, você deve usar o operador de comparação:
while (contador < 9){
listaTecla[contador].onclick = pom;
contador++
}
Então, corrigindo esses dois pontos, o seu código ficaria assim:
function pom(){
document.querySelector("#som_tecla_pom").play();
}
const listaTecla = document.querySelectorAll(".tecla");
let contador = 0;
while (contador < 9){
listaTecla[contador].onclick = pom;
contador++
}
Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!