Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[duvida] O som nao toca e da erro

function pom(){
    document.querySelectorAll("#som_tecla_pom").play();
} 

const listaTecla = document.querySelectorAll(".tecla");
let contador = 0;
while (contador = 9){
    listaTecla[contador].onclick = pom;
    contador++
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

porem o onclick ta "igual ao da aula mas nao vai"

1 resposta
solução!

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!