如何在JavaScript中检测方向箭头按键的按下操作?
解决方向箭头按键检测无输出的问题
问题出在你使用的keypress事件上——这个事件仅对能产生字符输入的按键生效,方向箭头属于非字符类按键,不会触发keypress,所以你的代码完全没反应。
替换成keydown或keyup事件就能正常捕获方向键操作了,修正后的代码:
this.addEventListener('keydown', event => { if (event.key === "ArrowLeft") { console.log("Left key"); } else if (event.key === "ArrowRight") { console.log("Right key"); } });
keydown会在按键按下的瞬间触发keyup会在按键抬起时触发,根据你的需求选其一即可
另外注意确认this指向的是正确的监听对象(比如document或者某个具体DOM元素),如果是在类方法中,要确保this的上下文没有丢失。
内容的提问来源于stack exchange,提问作者poopdealer43
相关产品推荐
相关产品推荐

