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

JS中如何实现按下Shift+Enter组合键触发执行对应函数的功能

原代码问题分析

  • 你使用的keypress事件已被Web标准废弃,对Shift等修饰键的识别支持存在缺陷,应该改用keydown事件
  • e.key只会返回当前按下的非修饰键的键名,Shift是修饰键,需要通过事件对象内置的e.shiftKey布尔属性判断是否同时按下,不可能出现Enter+Shift拼接出来的键名字符串

正确实现代码

document.addEventListener('keydown', function (e) {
    // 同时满足按下Enter键、按下Shift键两个条件
    if (e.key === 'Enter' && e.shiftKey) {
        // 如果需要阻止Shift+Enter的默认行为(比如文本域内换行)可以加上下面这行
        // e.preventDefault()
        console.log("test");
        // 此处写入你要执行的其他逻辑
    }
});

额外说明

  • 其他修饰键也可以用对应的属性判断:Ctrl对应e.ctrlKey,Alt对应e.altKey,Mac系统的Command键对应e.metaKey
  • 如果需要限定只有在特定元素内按下快捷键才生效,把绑定事件的对象从document换成对应的DOM元素即可

内容的提问来源于stack exchange,提问作者Yas. Aldulaimy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:39:03