E se quiséssemos aceitar os 2 eventos? - Click para dar o alert - Dblclick para remover
Testando percebi que apenas o click funciona, como eu já imaginava. Existe a possibilidade do jQuery tratar isso?
E se quiséssemos aceitar os 2 eventos? - Click para dar o alert - Dblclick para remover
Testando percebi que apenas o click funciona, como eu já imaginava. Existe a possibilidade do jQuery tratar isso?
Rafael eu desconheço essa opção para o mesmo elemento, pois o evento dblclick antes vai disparar o click duas vezes, ou seja, iria exibir seu alert 2 vezes para depois remover.
Imaginei algo como um timer. Situação 1{ - Clique! - Aguarda um certo tempo... - Mais nenhum clique executo a função 'click()'. }
Situação 1{ - Clique! - Aguarda um certo tempo... - Outro clique! - Aborto a função click() - Executo a função a função 'dblclick()' }
Deve ser possível...
Sim, é possível com setTimeout mas acredito não ser uma boa prática, pelo menos eu não faria assim.
Uma solução possível:
var cancelaTimeOut;
var totalDeCliques = 0;
$('h1').on('click', function() {
totalDeCliques++;
clearTimeout(cancelaTimeOut);
if(totalDeCliques == 2) {
alert('Você deu dois cliques');
totalDeCliques = 0;
} else {
cancelaTimeOut = setTimeout(function() {
alert('você clicou uma vez');
totalDeCliques = 0;
},500);
}
});
Obrigado Matheus e mestre Flávio Almeida!