编程语言
首页 > 编程语言> > javascript-按住某个键时,如何避免出现多个上/下/按下事件?

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