即使在松开钥匙后,按下钥匙也会继续点火

Key down keeps firing even after releasing the key

本文关键字:钥匙 继续      更新时间:2024-02-13

我正在处理keydown&使用jquery标准方法的key-up事件。如果按键被按下几秒钟&我们在一段时间后释放密钥,然后keydown即使在释放后也会继续发射。Keyup是在很长时间后发射的,或者我可以说是在它完成所有keydown发射时发射的。

我想要的是当用户释放密钥时,keyup应该立即启动。

这是代码

$( 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"

即使在松开钥匙后也会继续点火。

提前谢谢。

最后我自己找到了答案。把e.stopPropagation();放在keydown处理程序中对我来说很有用。