我正在处理keydown&使用jquery标准方法键入事件。如果按下一个键几秒钟&我们在一段时间后释放钥匙,然后keydown即使在释放之后也会继续射击.Keyup在很长一段时间后被解雇,或者我可以说它完成了所有的keydown射击。
我想要的是当用户释放密钥时,应立即触发。
这是代码
$( document ).on( 'keyup', function ( e ) {
if (isCrossHairClicked)
{
switch (e.keyCode) {
case 37:
alert('hwaccel');
break;
case 39:
alert('hwaccel');
break;
default:
break;
}
}
});
$( document ).on( 'keydown', function ( e ) {
if (isCrossHairClicked)
{
switch (e.keyCode) {
case 37:
console.error('37 down');
break;
case 39:
console.error('39 down');
break;
default:
break;
}
}
});
我的控制台记录
"37 down" & "39 down"
在释放钥匙后仍然继续射击。
提前致谢。
答案 0 :(得分:0)
最后我自己找到了答案。在keydown处理程序中输入e.stopPropagation();
为我做了诀窍。