所以,如果按住某个键,它会:
500ms
或者像这样:
a a a a a a ....
| | |
0 500 1000
我想执行一个每隔x ms执行一次函数的代码。
我目前有这个:
var flag = true;
document.body.addEventListener("keydown", function(){
if(flag){
flag = false;
//code
setTimeOut(function(){flag = true}, 500);
}
})
但显然只适用于500ms
或更多间隔。如果我想要100ms
间隔,我该怎么办?
答案 0 :(得分:0)
当按键关闭时,这将每100毫秒运行一次滴答功能:
var intervalID;
function tick() {
// code, for example:
document.body.innerHTML += ".";
}
document.addEventListener("keydown", function(){
if (!intervalID) intervalID = setInterval(tick, 100);
});
document.addEventListener("keyup", function(){
clearInterval(intervalID);
intervalID = undefined;
});
如果您想要永久执行该功能,您不需要保留间隔ID,也不需要使用密钥处理程序。