Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mr. Charset

Como criar um evento de clique triplo com o mouse?

Recommended Posts

Mas impondo um limite de tempo para que os três cliques sejam considerados um clique triplo, não três cliques isolados.

$(function(){
$("#iddadiv").bind("tripleclick", function() {
$(this).rotate({ endDeg:90, persist:true });
}); });
Eu quero determinar esse tal "tripleclick" de acordo com as condições descritas acima. Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eaee Charset, firmeza?

Uma das formas de se fazer isso é usando nosso conhecido setTimeout, onde ele verifica o tempo do primeiro click com o terceiro, assim sabemos se for no tempo correto para executarmos o callback.

Veja essa função:

function addTripleClickEvent(element, callback) {
  var counter = 0;
  var time = 500;
  
  element.addEventListener('click', function(e){
    var self = this;
    counter += 1;
    setTimeout(function(){
      if(counter === 3) {
        callback(self, e);
      }
      counter = 0;
    }, time);
  });
}

Uma função simples onde é possível adicionar um evento de TripleClick.

A variável counter, irá contar a quantidade de clicks do usuário.

A variável time, irá verificar se o usuário clicou no elemento no tempo hábil.

O addEventListener irá adicionar o evento com a condição de triple click.

Veja como ficaria no JSFiddle: https://jsfiddle.net/bt8qjf7h/1/

Flw vlw! :-D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.