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

Alternativa para o addEventListener

No lugar do addEventListener eu criei uma função buttonActions que faz tudo que eu preciso fazer no "onclick", assim eu chamo somente essa função. Funciona bem. Minha dúvida é, isso foge das boas práticas?

var button = document.getElementById("calcula-imcs");

function buttonActions() {
    walksArray();
    console.log("Imc's calculados!");
}

button.onclick = buttonActions;
1 resposta
solução!

Boa tarde, Lucas! Tudo certo, cara? =)

Legal que você conhece ambas as formas de adicionar um evento à um clique!

Só dizendo o que você provavelmente já sabe:

  • O onclick só pode realizar um único evento, ou seja, se tentar realizar o seguinte código, será impresso somente "Segunda função":
element.onclick = function() {
    console.log("Primeira função");
}
element.onclick = function() {
    console.log("Segunda função");
}
  • O addEventListener permite que você realize múltiplos eventos. No caso a seguir serão impressos "Primeira função" e "Segunda função":
element.addEventListener("click", function() {
    console.log("Primeira função");
});

element.addEventListener("click", function() {
    console.log("Segunda função");
});

Eu nunca vi ninguém escrevendo um função que serve simplesmente para encapsular a chamada de outras, ou seja, criar uma função que chama várias outras para usar o onclick. Se funciona para você, excelente! É uma opção que eu desconhecia, mas acredito que programadores um pouco mais experientes do que você e eu podem lhe dizer para usar o addEventListener. =)

Espero ter ajudado, mas qualquer dúvida não deixe de postar por aqui para que possamos ajudá-lo! =)

Abraço e bons estudos,

Fábio

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software