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

Sobre a aula de "melhorando a usabilidade".

Estou tentando executar o seguinte código referente a aula e não está funcionando. Já passei um tempão procurando o que há de errado e não consegui identificar.

<meta charset="UTF-8">

<input>
<button>Digite aqui seu palpite</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
solução!

Olá Emerson, tudo bem?

O que está ocorrendo é que a função está sendo chamada dentro dela mesmo.

O evento de onclick é um evento global e deve estar sendo escrito do lado de fora da função que está chamando.

Modificando, ficará assim:

<meta charset="UTF-8">

<input>
<button>Digite aqui seu palpite</button>

<script>

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

    function verifica() {
        if (input.value == segredo) {
            alert ("Você acertou");
        } else {
            alert ("Você errou");

        }

    }

    //função sendo chamada do lado de fora
    var button = document.querySelector("button");
    button.onclick = verifica;

</script>

Caso queira saber mais sobre o evento de click, indico a seguinte leitura:

Abraços e bons estudos!

Caramba, o professor deixou isso claro na aula e me passou despercebido agora. Obrigado por esclarecer.

Você tem algum material que eu possa ler para entender melhor quando usar e quando nao usar o return?? Ainda estou um pouco inseguro em relação a isso.

Abraços.

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