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

如何在JavaScript中触发Enter键?event.code===13失效且VSCode提示已废弃

解决待办事项列表Enter键无响应问题

先纠正你尝试中的错误写法:

  • event.code === 13 错误,code 属性是字符串类型,正确值是 'Enter'
  • KeyboardEvent = "Enter" 属于语法错误,完全不符合事件判断逻辑

以下是两种标准且有效的实现方式,无需使用已废弃的 keyCode:

方式一:使用 event.key

直接判断按键的标识字符串,写法直观:

// 假设你的输入框DOM元素是todo-input
const inputTodo = document.getElementById('todo-input');

inputTodo.addEventListener('keydown', function(event) {
  // 按下Enter键时执行添加逻辑
  if (event.key === 'Enter') {
    // 调用和按钮点击相同的添加待办函数
    addTodoItem();
  }
});

方式二:使用 event.code

判断按键的物理位置编码,适合需要区分同键不同位置的场景(比如主键盘Enter和小键盘Enter):

inputTodo.addEventListener('keydown', function(event) {
  // 主键盘Enter的code是'Enter',小键盘Enter是'NumpadEnter',按需选择
  if (event.code === 'Enter') {
    addTodoItem();
  }
});

额外注意事项

  1. 事件绑定对象正确:务必给输入框绑定键盘事件,而不是按钮或其他元素,因为Enter键是在输入框中触发的
  2. 表单场景需阻止默认行为:如果输入框包裹在<form>标签内,按下Enter会触发表单提交导致页面刷新,需要添加阻止默认行为的代码:
inputTodo.addEventListener('keydown', function(event) {
  if (event.key === 'Enter') {
    event.preventDefault(); // 阻止表单默认提交
    addTodoItem();
  }
});
  1. 复用逻辑:确保addTodoItem()函数和你点击按钮时调用的是同一个,保证添加逻辑一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:46:00