Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

por que "click" ao invés de "onclick" ?

No comando addEventListener(), ele colocou "click" ao invés de "onclick", por quê ?

7 respostas

Porque o addEventListener recebe click como argumento, não onclick. O onclick é uma função, enquanto click é apenas uma string que você fornece como argumento. Uma dica: não sei se é uma regra geral, mas quando você fornece um evento para o addEventListener, você simplesmente tira o "on" do nome do evento e passa o evento em si.

Em vez de onmouseover, apenas mouseover, e por aí vai...

Então poderia ser qualquer nome, não é uma sintaxe da linguagem ?

Qualquer nome, desde que seja aceitável como argumento, claro. É uma string, que está dentro do conjunto de strings que a função addEventListener entende como evento.

solução!

.onclick() = Função

"click" = Argumento em string dentro de uma biblioteca de eventos que é reconhecida como se fosse a função .onclick()

Quando você vai inserir o evento diretamente no elemento HTML, você vai acabar utilizar o "on", por exemplo:

<input type="text" name="teste" onclick="minhaFuncaoJavascript();">

A explicação do exemplo acima seria: ao clicar no campo texto, executar a função minhaFuncaoJavascript();

Para não ter que fazer isso, você utiliza o listener, então não se mexe no layout, e se faz o vinculo do evento ao elemento em separado.

Nesse caso o "on" deixa de existir e você usa apenas o nome do evento que deseja programar.

Consulte a documentação para saber quais eventos você pode passar como argumento: https://developer.mozilla.org/en-US/docs/Web/Events

excelentes explicações, obrigado.