不断执行功能上的KeyDown
Constantly Execute function upon KeyDown
所以,如果你按住一个键,它会:
- 首先输入键
- 等待
500ms
- 重复输入键
或者像这样:
a a a a a a ....
| | |
0 500 1000
我想执行一个代码,每x毫秒执行一个函数
我现在有这个:
var flag = true;
document.body.addEventListener("keydown", function(){
if(flag){
flag = false;
//code
setTimeOut(function(){flag = true}, 500);
}
})
但显然这只适用于500ms
或更多的区间。如果我想要一个100ms
区间,我该怎么做?
这将在按下一个键时每100毫秒运行一次tick函数:
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;
});
如果你想一直执行这个函数,你不需要保留interval ID,也不需要keyup处理程序。
https://jsfiddle.net/thsk1dpp/相关文章:
- 主体单击删除功能上的输入框宽度
- 在接受功能上访问燃料UX标语牌中的“this”
- HTML jQuery 函数在 Keydown 事件上不起作用
- JavaScript功能上的谷歌地图
- 自动完成在keydown功能中不起作用
- 点击功能上的JQuery按钮不起作用
- 在jQuery点击功能上显示特定数量的
- 使用实习生在功能上测试元素是否可见(没有元素覆盖)
- 计数功能上的数字划分
- “功能上”生成一个仅包含几个元素的列表
- 数组中的第一个视频始终是第一个或第二个在下一个视频功能上播放
- 在复选框检查的更改功能上需要计算一个值
- 在选项卡的点击功能上初始化猫头鹰轮播
- 在同一功能上使用多个按钮重定向到不同的功能
- 我如何替换像twitter或facebook这样的keydown事件上的hash标签.javascript//jquer
- 异常捕获在功能上是否与承诺错误回调相同
- 在页面更改功能上跳转到页面顶部
- 我要在鼠标悬停功能上更改 javascript 中
- 功能上的多个承诺
- 不断执行功能上的KeyDown