How do I listen for triple clicks in JavaScript?

后端 未结 6 1499
Happy的楠姐
Happy的楠姐 2020-12-02 16:38

If this is for a double-click:

window.addEventListener(\"dblclick\", function(event) { }, false);

How can I capture a triple-click? This is

6条回答
  •  心在旅途
    2020-12-02 17:15

    it's very simple if you do it right, and you can even catch single, double, triple, ... clicks as you like. plain javascript, customizable click delay (timeout):

    var clicks = 0;
    var timer, timeout = 350; // time between each click
    
    var doubleClick = function(e) {
      console.log('doubleClick');
    }
    
    var tripleClick = function(e) {
      console.log('tripleClick');
    }
    
    // click timer
    yourcontainer.addEventListener('click', function(e) {
      clearTimeout(timer);
      clicks++;
      var evt = e;
      timer = setTimeout(function() {
        if(clicks==2) doubleClick(evt);
        if(clicks==3) tripleClick(evt);
        clicks = 0;
      }, timeout);
    });
    

提交回复
热议问题