1
resposta

Desafio concluído

let titulo = document.querySelector('h1');
titulo.innerHTML = 'Hora do desafio';

function verificarClique() {
    console.log('O botão foi clicado!')
};

function clicarAlert() {
    alert('Eu amo JS') 
};

function clicarPrompt() {
    let cidade = prompt ('Qual cidade você viajou?')
    alert(`Estive em ${cidade} e lembrei de você!`)
};

function clicarSoma() {
    let primeiroNumero = parseInt(prompt ('Insira o primeiro número:'));
    let segundoNumero = parseInt(prompt ('Insira o segundo número:'));
    let somaTotal = primeiroNumero + segundoNumero;
    alert(`A soma dos números é ${somaTotal}`)
}

O botão clicarSoma() não está sendo ativado. Gostaria e saber qual erro que cometi.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>
    <header>
        <h1></h1>
    </header>
    <main class="container">
        <button onclick="verificarClique()" class="button">Console</button>
        <button onclick="clicarAlert()" class="button">Alert</button>
        <button onclick="clicarPrompt()" class="button">Prompt</button>
        <button onclick="clicarSoma()" class="button">Soma</button>
    </main>

      <script src="app.js"></script>
</body>
</html>
1 resposta

Olá, Hugo! Tudo bem?

O problema que você está enfrentando pode estar relacionado ao carregamento do arquivo JavaScript. No seu código HTML, o script está sendo carregado no final do body. Isso significa que o script só será carregado depois que todo o HTML for carregado.

Pode ser que o botão esteja sendo clicado antes do script ser completamente carregado, o que faria com que a função clicarSoma() ainda não estivesse disponível.

Uma solução para isso seria colocar o script no head do HTML e adicionar o atributo defer, assim:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
    
    <script src="app.js" defer></script>

</head>

O atributo defer faz com que o script seja carregado paralelamente com o HTML, mas só seja executado depois que todo o HTML for carregado. Isso pode resolver o seu problema.

Outra possibilidade é que haja algum erro no arquivo JavaScript que está interrompendo a execução do script antes da função clicarSoma() ser definida. Verifique o console do navegador para ver se há algum erro sendo exibido.

Espero ter ajudado. Fico à disposição!

Abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!