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

botao.addEventListener

Estou com um erro que o atributo "addEventListener" ao clicar no botao dentro do index.html nao executa a função, se eu usar o botao.onclick, funciona corretamente, o que pode estar acontecendo?

var botao = document.getElementById("calcula-imcs");
botao.addEventListener = function () {
    var trsPacientes = document.getElementsByClassName("paciente");

    percorreArray(trsPacientes, function (pacienteTr) {
    var tdNome = pacienteTr.getElementsByClassName("info-nome")[0];
    var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
    var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];

    var pacienteAtual = {nome : tdNome.textContent,
                         peso : tdPeso.textContent,
                         altura : tdAltura.textContent,
                          pegaImc : function(){
                              if(this.altura != 0){
                                var imc = this.peso / (this.altura * this.altura);
                                return imc;
                            }else{
                                console.log("Não posso executar uma divisão por 0!");
                            }
                              }}

    var imc = pacienteAtual.pegaImc();

    var tdImc = pacienteTr.getElementsByClassName("info-imc")[0]; 
    tdImc.textContent = imc; 

    console.log(imc) 
})
}
1 resposta
solução!

Boa tarde, Manoel! Tudo certo? =)

Toma cuidado que addEventListener é uma função, ou seja, você deve fazer algo como:

botao.addEventListener(...);

Essa função precisa saber a qual evento você quer adicionar um listener, no seu caso, click:

botao.addEventListener("click", function() {
    // Aqui vem todo o código da sua função...
});

Sacou? =)

Espero ter ajudado, mas se ainda estiver com dúvida ou aparecerem novas, não deixe de postar por aqui! Assim podemos continuar ajudando-o!

Abraço e bons estudos,

Fábio