Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Remover pacientes com uma função nomeada

Gostaria que me ajudassem a entender o pq quando escrevo o código dessa forma ele funciona

   aux.addEventListener("dblclick", function(event){
    event.target.parentNode.classList.add('fadeout')
    setTimeout(function(){
        event.target.parentNode.remove()}, 500)

    })

Entretanto, quando eu passo ele para uma função nomeada e chamo ela dentro do meu escutador de eventos ele não funciona.

function removePaciente(event){
    event.target.parentNode.classList.add('fadeout')
    setTimeout(function(){
        event.target.parentNode.remove()}, 500)
    }


   aux.addEventListener("dblclick", removePaciente())

O console demarca o alvo como indefinido

1 resposta
solução!

Fala aí Mateus, tudo bem? Bom, vamos lá:

No primeiro exemplo você está criando o que chamamos de função anônima, esse tipo de função é criada quando queremos passá-la como parâmetro sem precisar nomear.

No segundo exemplo, o problema está sendo porque você está chamando a função, onde na verdade deveria passá-la como parâmetro, da seguinte maneira:

aux.addEventListener("dblclick", removePaciente)

Repare que agora não estamos invocando a função, mas, passando ela como parâmetro, assim, só será executada quando realizar o clique duplo.

Espero ter ajudado.