Javascript $(文档).keydown/up在使用辅助键时不起作用

Javascript $(文档).keydown/up在使用辅助键时不起作用,javascript,jquery,html,Javascript,Jquery,Html,我有这个密码 $(document).keydown(function(){ $("#movecheck").text("true"); isMoving = true; }); $(document).keyup(function(){ $("#movecheck").text("false"); isMoving = false; }); 目前,一次使用一个键可以正常工作,但如果使用两个键,其中一个可以按住,另一个不能按住,isMoving在第二个键不再按下

我有这个密码

$(document).keydown(function(){ 
   $("#movecheck").text("true");
   isMoving = true;
}); 
$(document).keyup(function(){ 
   $("#movecheck").text("false");
   isMoving = false;
}); 
目前,一次使用一个键可以正常工作,但如果使用两个键,其中一个可以按住,另一个不能按住,
isMoving
在第二个键不再按下时返回false,而第一个键仍然按下,我有一个防重影键盘,因此我知道这不会是问题,所以我相信这可能与jquery如何检查键是否已关闭有关

如何使用多个键使其工作


任何帮助都将不胜感激

您需要使用整数而不是布尔值,因为当前,
isMoving
在您释放一个键时将始终设置为
false
,无论还有多少其他键被按下

以下是使用整数变量的示例:

pressedCount=0;
$(文档).keydown(函数(事件){
如果(!event.originalEvent.repeat){
按Count++;
setMoveCheck();
}
});
$(文档).keyup(函数(){
按计数--;
setMoveCheck();
}); 
函数isMoving(){
返回按次数!==0;
}
函数setMoveCheck(){
$(“#movecheck”).text(isMoving()?“true”:“false”);
}

错误
让activeCount=0
函数checkStatus(){
如果(活动计数){
$(“#movecheck”).text(“true”);
}否则{
$(“#movecheck”).text(“false”);
}
}
$(文档).keydown(函数(e){
activeCount++;
检查状态()
});
$(文档).keyup(函数(e){
--活性计数;
检查状态()
});
checkStatus()


这很好,但偶尔我会遇到一个错误,
isMoving()
在没有任何键关闭的情况下返回true,我如何修复它?@Chaps我编辑了我的答案,添加了对重复的键关闭事件的检查。如果您使用该检查进行了测试,但仍然失败,我不确定问题出在哪里。我遇到了另一个问题,在使用多个键和切换时,偶尔按一下Count会变为1,并且不会下降,从而导致;就我而言:无限不可阻挡的运动。这怎么能解决呢?