javascript-按住某个键时,如何避免出现多个上/下/按下事件?
作者:互联网
我正在创建一个Web前端来控制一个小型机器人. Ajax调用将在键盘按下时启动,以启动机器人,并在键盘按下时停止.
我的问题是,按住某个键时,键按下,键按下和键按下事件似乎会不断循环.是否有人知道只有在第一次按下按键时才触发按键按下,而在释放按键时才触发按键按下的方法?
–edit:我最初忘记提及它,但是我尝试保存按钮的状态.问题是当我按住键时,按键,按键和按键事件会一再触发.
解决方法:
我无法重现该问题-
我找不到从keydown引发的任何keyup事件,
不管我按住一个键多长时间.
该方法侦听按键,运行一些代码,
并且在听到另一个keydown之前等待一个keyup.
该警报仅在键入时调用.
var A=[], who=// I used a textarea, substititute your own target
who.onkeydown= who.onkeyup= function(e){
e=window.event || e;
var t= e.type, target= e.target || e.srcElement;
A.push(t);
if(t== 'keydown'){
// start robot and stop listening to keydown
target.onkeydown= '';
}
else if(t== 'keyup'){
// stop robot and listen for keydown
target.onkeydown= arguments.callee;
alert(A)
}
}
标签:javascript-events,javascript 来源: https://codeday.me/bug/20191210/2100065.html