2
respostas

Erro Html

Gostaria de entender o porque o algoriítimo não está reproduzindo corretamente.

<meta charset="UTF-8">

<input/>

<button>Compre o meu segredo</button>


<script>

    var segredo = 5;

    var input = document.querySelector("input");

    function verifica() {

        if(input.value == segredo) {
            alert("Você Acertou");
        } else {

            alert ("Você Errou!!!");    
        }
    }

    var button = document.querySelector("button");

    button.onclick = verifica ()

 </script>
2 respostas

Guilherme, tudo bem? O problema é que você no evento onclick do botão, não está associando a função ao evento, mas sim, executando a função.

Assim você executa a função, sem atribuir ao evento (atribui o resultado da função, mas não a função em si):

 button.onclick = verifica();

Assim você atribui a função ao evento sem executar:

 button.onclick = verifica;

Pegou a ideia? Espero ter ajudado, bons estudos!

Olá Henrique, meu aluno!

Pegando carona no que o Wanderson acabou de explicar, confira essa discussão aqui que pode engrandecer a discussão:

https://cursos.alura.com.br/forum/topico-button-nao-funciona-31581