需要javascript代码按钮按住

zur*_*urk 13 javascript mouse

我想要一个简短的最小可能的javascript例程,当按钮出现mousedown时,它首先响应就像一个鼠标点击然后如果用户按下按钮它会响应,就像用户不断发送鼠标点击一段时间一样按住按钮的行为好像用户正在加速他们的鼠标点击...基本上把它想象成按键重复加速及时.
即用户按住鼠标按钮(x =调用功能) - x___x___x___x__x__x_x_x_x_xxxxxxx

neo*_*r99 18

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 */
Run Code Online (Sandbox Code Playgroud)

  • 我也需要清除mouseout上的超时,否则我可以将鼠标滑离按钮,然后滚动将继续. (2认同)