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

Outra maneira de encontrar o botão

Em uma conversa com a minha namorada que está fazendo outro curso de uso de HTML e Js na web, eu vi no código dela no HTML algo do tipo

<html>
    <button type="button" onclick="clicou()"> Clique aqui </button>
</html>

<script>
    function clicou(){
    alert("fui clicado");
    }
</script>

Eu acredito que o professor somente esteja mostrando maneiras de manipular o HTML pelo JS, mas ao ver essa forma de escrever eu fiquei com essa pulga atras da orelha.

Eu achei essa forma de achar o click (utilizando o Onclick) no HTML mais prática do que a que o professor ensina. Nesse caso, teria algum problema utilizar o tag onclick? Qual seria a diferença? Exista alguma vantagem ou desvantagem?

2 respostas
solução!

Olá Pedro, tudo bem ?

Realmente existem diversas formas de atingir alguns objetivos, algumas mais relacionadas com o html igual a que você citou, e outras, que estão mais no mundo do javascript, para essa questão de click teríamos até 3 formas

    function executa(){
    alert("fui clicado");
    }

<button type="button" onclick="executa()"> </button>

botao.addEventListener("click", executa)

botao.onclick = executa

De todas essas, a que apresenta desvantagem é a última, pois se você fizer 2 botao.onclick estará sobrescrevendo o comportamento, diferente do listener que se você fizer mais de uma vez, todas as funções serão executadas

E utilizando pelo formulário, estamos de fato limitados a apenas uma função a ser executada, o que não necessariamente é algo ruim, pois na maioria das vezes iremos querer ter apenas uma função

Uma opinião pessoal minha é que com o eventListener temos um código um pouco mais coeso, pois por exemplo vamos supor que temos essa função clicou() mas ela não está no <script>, teremos algo assim, por exemplo:

  • index.html
  • js
    • menu.js
    • animacao.js
    • listagem.js
    • ads.js

Teremos que olhar todos os arquivos até encontrar a função que está sendo executada no html

Por outro lado, uma função simples, podemos incorporar tranquilamente pelo html e adicionar a tag script no final da maneira como você fez

Então, no final das contas é mais uma questão de como você vai estruturar seu código, de forma que fique mais fácil para você e sua equipe fazer pequenas manutenções :)

Conseguiu Compreender?

Abraços e Bons Estudos!

Entendi sim, Geovani! Muito obrigado pela sua resposta! Me ajudou bastante a compreender!