click delay

JavaScript

(function () {
    function someFunction()
    {
        alert("do something");
    }
    
    var x = 500; // 2000 miliseconds = 2 seconds
    var mousePressed = false;
    var timePressed = 0;
    var timeHolding = 0;
    
    function check(){
        timeHolding = new Date().getTime() - timePressed;        
        if(timeHolding >= x){
            someFunction();
        }
    }    
    window.addEventListener('mousedown', function () {         
        if(!mousePressed){
            mousePressed = true; 
            timePressed = new Date().getTime(); // or Date.now()        
            setTimeout(function(){ check() }, x);
        }
    }, false);
    
    window.addEventListener('mouseup', function () {         
        mousePressed = false;        
        timePressed = new Date().getTime(); 
    }, false);
})();