Olá pessoal.
Tenho uma dúvida sobre funções que no exemplo do curso JS na Web: Manipule o DOM com JavaScript - 04 aula 07, temos 2 funções parecidas mas que uma função "criarTarefa" ele passa como referência no novaTarefa.addEventListener('click', criarTarefa);
e outra tarefa.appendChild(BotaoConcluir());
que possui um return
e ele chama com ()
. Até chamei elas no console pra ver se notava alguma diferensa clara, mas na essências elas são iguais.
Olhei nas perguntas anteriores do forum, pra ver se entendia, mas ainda não ficou claro.
Sendo assim, vou precisar de uma resposta como se eu tivesse 8 anos... e talvez tenha, rs!
Código Js da aula.
// Criando botão concluir
const criarTarefa = (evento) => {
evento.preventDefault();
const input = document.querySelector('[data-form-input]');
const valor = input.value;
const lista = document.querySelector('[data-list]');
const tarefa = document.createElement('li');
tarefa.classList.add('task');
const conteudo = `<p class="content">${valor}</p>`;
tarefa.innerHTML = conteudo;
tarefa.appendChild(BotaoConcluir());
lista.appendChild(tarefa);
console.log(tarefa);
console.log(lista);
input.value = "";
}
const novaTarefa = document.querySelector('[data-form-button]');
novaTarefa.addEventListener('click', criarTarefa);
const BotaoConcluir = () => {
const botaoConclui = document.createElement('button');
botaoConclui.classList.add('check-button');
botaoConclui.innerText = 'concluir';
botaoConclui.addEventListener('click', ()=> {
console.log('ok!');
});
return botaoConclui;
}
HTML da aula.
<!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="./assets/css/style.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=BioRhyme&family=Space+Mono&display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<title>Ceep</title>
</head>
<body>
<div class="app">
<div class="todo-list">
<h1 class="title">
Ceep
</h1>
<form class="form" action="">
<input class="form-input" type="text" data-form-input>
<button class="form-button" data-form-button> Novo Item </button>
</form>
<ul class="list" data-list>
</ul>
</div>
<script src="listaDeTarefas.js"></script>
</body>