Need javascript code for button press and hold

前端 未结 6 2283
庸人自扰
庸人自扰 2020-12-03 05:13

I\'d like a short smallest possible javascript routine that when a mousedown occurs on a button it first responds just like a mouseclick and then if the user keeps the butto

6条回答
  •  再見小時候
    2020-12-03 05:59

    function holdit(btn, action, start, speedup) {
        var t;
    
        var repeat = function () {
            action();
            t = setTimeout(repeat, start);
            start = start / speedup;
        }
    
        btn.mousedown = function() {
            repeat();
        }
    
        btn.mouseup = function () {
            clearTimeout(t);
        }
    };
    
    /* to use */
    holdit(btn, function () { }, 1000, 2); /* x..1000ms..x..500ms..x..250ms..x */
    

提交回复
热议问题