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

clicando varias vezes

muito bom o curso, aprendi muito, muito obrigado. o projeto esta rodando certinho, porem as vezes se clico varias vezes para ir apagando pacientes, ele apaga a tabela td e tr deixando apenas o input e do botao buscar para baixo.

achei que pudesse ser uma implementação minha mas baixei o projeto final e isso também acontece. tudo está funcionando porém as vezes faz isso, apenas gostaria se saber se existe uma solução, desde já agradeço. parabéns pelo curso.

3 respostas

Oi Jhow, tudo bem? Testei aqui e não tive esse problema. Pode me dizer o navegador e a versão que tá usando?

https://1drv.ms/u/s!AoLTQtVvh7G6iVE4IpvtFBIptanx

fiz um gif do que acontece quando clico varias vezes,

navegador: O Google Chrome está atualizado Versão 67.0.3396.99 (Versão oficial) 64 bits

fiz o download da versão final do projeto e acabei de testar, não que isso seja um problema, só perguntei mesmo para saber se eu era o único, e claro, caso alguém soubesse, seria bom saber o motivo caso eu passe por um problema como esse no futuro.

obrigado.

solução!

Hm, agora sim consegui simular, verdade.

Meu chute é que durante a animação, um clique pode acabar sendo feito na tbody em vez da td em si, ai como usamos o parent node, isso faz com que o elemento a ser removido seja a tabela.

Uma solução é mudar a implementação para o evento de dbclick seja aplicado as colunas da tabela em si, em vez de ouvir na tabela inteira ou fazer um if que verifica se a tag no parentNode é uma tr, se não for, a gente ignora o evento dando um return.

O código fica assim:

tabela.addEventListener("dblclick", function(event) {
    if(event.target.parentNode.tagName !== "TR"){
        return;
    }

    event.target.parentNode.classList.add("fadeOut");    
    setTimeout(function() {
        event.target.parentNode.remove();
    }, 500);   
});