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

如何在input事件中检测Enter按键?为何e.KeyCode返回undefined?

解决输入框Enter键触发事件时e.KeyCode返回undefined的问题

你的代码存在两个关键问题,导致e.KeyCode始终返回undefined:

  • 事件类型选择错误:input事件仅在输入框内容发生变化时触发,不会传递完整的按键事件信息。要监听按键操作,应使用keydown或keyup事件——这两个事件才会携带按键相关的属性。
  • 属性名大小写错误:JavaScript是大小写敏感的,正确的按键码属性是e.keyCode(小写k),而非e.KeyCode(大写K)。

修正后的代码:

$(document).ready(function() {
  $(document).on('keydown', "#myInput", function(e) {
    console.log(e.keyCode)
    if (e.keyCode === 13) {
      console.log('Enter Key Pressed')
    }
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" id="myInput" name="input_field">

额外优化建议:

现在更推荐使用e.key === 'Enter'来判断Enter键,这种方式无需记忆按键码,可读性更强:

$(document).ready(function() {
  $(document).on('keydown', "#myInput", function(e) {
    if (e.key === 'Enter') {
      console.log('Enter Key Pressed')
    }
  })
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:03:48