1
resposta

Duplo clique não funciona

var pacientes = document.querySelectorAll(".paciente");


pacientes.forEach(function(paciente) {
    paciente.addEventListener("dblclick", function() {
        this.remove();
    });
});

Há essa mesma dúvida aqui no Fórum de outras pessoas, porém a solução dadas a elas não funcionou para mim.

O nome da classe está correto e a versão do meu Chrome é 84.

O duplo clique não foi acatado.

Correção: O duplo clique não funciona com o Console aberto.

1 resposta

bro.rodrigues,

Os elementos (.paciente) são itens novos? Caso sim, é necessário adicionar o evento "addEventListener com dblclick", a cada item novo.

<div class="paciente">Paciente 1</div>
<div class="paciente">Paciente 2</div>
<div class="paciente">Paciente 3</div>
<div class="paciente">Paciente 4</div>
<div class="paciente">Paciente 5</div>
<div class="paciente">Paciente 6</div>
<a id="novo">Novo</a>
<script>
    var pacientes = document.querySelectorAll(".paciente");
    pacientes.forEach(function(paciente) {
        paciente.addEventListener("dblclick", function() {
            this.remove();
        });
    });

    var novo = document.getElementById("novo"); 
    novo.addEventListener("click", function() {
        var paciente = document.createElement("div"); 
        var conteudoNovo = document.createTextNode("Novo paciente"); 
        paciente.appendChild(conteudoNovo);
        paciente.setAttribute("class", "paciente")

        // Descomentar abaixo para poder adicionar eventos aos itens novos
        // Adiciona evento para remover com doubleClick
        // paciente.addEventListener("dblclick", function() {
        //     this.remove();
        // });

        var botaoNovo = document.getElementById("novo"); 
        document.body.insertBefore(paciente, botaoNovo); 
    });
</script>