我想要一个尽可能短的最小JavaScript例程,当在按钮上发生鼠标按下时,它首先会像mouseclick一样做出响应,然后,如果用户按住该按钮,它就会做出响应,就好像用户在不断发送mouseclick并在一段时间后按下按钮的行为就好像用户正在加速其鼠标单击...基本上将其视为具有时间加速的按键重复。
即用户按住鼠标按钮(x =调用功能)-x___x___x___x__x__x_x_x_x_x_xxxxxxx
最佳答案
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 */