如何用JavaScript检测输入框回车键按下?keyCode已弃用求方案
替代已弃用keyCode的回车键检测方案
方法1:通过e.key判断按键名称
keyCode已被Web标准弃用,推荐直接使用e.key来匹配按键的字符串标识,修改你的代码如下:
let input = document.querySelector('input'); input.addEventListener('keyup', (e) => { if(e.key === 'Enter') { console.log(e.target.value); } })
方法2:通过e.code精准定位物理按键
如果需要区分主键盘回车和小键盘回车,可以用e.code:
- 主键盘回车对应
'Enter' - 小键盘回车对应
'NumpadEnter'
示例代码:
let input = document.querySelector('input'); input.addEventListener('keyup', (e) => { if(e.code === 'Enter' || e.code === 'NumpadEnter') { console.log(e.target.value); } })
额外优化:改用keydown事件提升响应体验
如果希望按下回车时立即触发(而非等待按键抬起),可以把事件换成keydown,同时可以添加e.preventDefault()避免默认行为(比如表单自动提交):
let input = document.querySelector('input'); input.addEventListener('keydown', (e) => { if(e.key === 'Enter') { e.preventDefault(); console.log(e.target.value); } })
内容的提问来源于stack exchange,提问作者Santrix
相关产品推荐
相关产品推荐

