You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中检测上下左右方向键及Tab键的按下操作?

问题原因及解决办法

keypress事件仅对可打印字符触发,方向键(up/down/left/right)、Tab这类控制键属于非打印字符,因此不会触发该事件。

要检测这些按键,需替换为keydown或keyup事件——这两个事件能捕获所有按键操作,包括各类控制键。

修改后的代码示例:

document.addEventListener('keydown', (e) => {
    console.log(e.key);
    // 可直接判断目标按键
    const targetKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Tab'];
    if (targetKeys.includes(e.key)) {
        console.log('目标按键被按下:', e.key);
        // 若需阻止Tab键默认的焦点切换行为,可添加此行
        // e.preventDefault();
    }
});

注意:阻止Tab的默认行为会影响页面焦点切换逻辑,按需使用即可。

内容的提问来源于stack exchange,提问作者Navspace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:45:34