3
respostas

meu código deu um erro mais funcionar de boa

Erro mp navegador edge e no chrome main.js:10 Uncaught TypeError: Cannot read properties of undefined (reading 'classList') at main.js:10:21

Erro no navegador firefox Uncaught TypeError: tecla is undefined http://127.0.0.1:5500/main.js:10

JS

const listaDeTeclas = document.querySelectorAll('.tecla');

function tocaSom(somTecla){
    document.querySelector(somTecla).play();
}

let i = 0
while(i<=listaDeTeclas.length){
    let tecla = listaDeTeclas[i];
    let som = tecla.classList[1];
    let idSom = `#som_${som}`;
    tecla.onclick = function(){
        tocaSom(idSom)
    }
    i++
}
3 respostas

velho,se deu erro na execução tu precisa tratar esse erro. pq qualquer aplicação seja de computador ou mobile, esse erro é enviado para o visualizador de logs e dai qanto mais usa mais enche :D

isso não serve só pra teu exemplo, serve pra tudo.

Amigo, boa tarde, tudo bem? eu fiz um teste aqui e acho que o erro se dá pelo calculo do comprimento da lista ali na condição do while. o certo é só enquanto o i for menor, e não menor e igual.


let i = 0
while(i < listaDeTeclas.length) {
    let tecla = listaDeTeclas[i];
    let som = tecla.classList[1];
    let idSom = `#som_${som}`;
    tecla.onclick = function(){
        tocaSom(idSom)
    } 
    i++
}

valeu mesmo pela solução agradeço