当前位置:首页 > JavaScript

js 实现键盘输入

2026-03-01 07:07:05JavaScript

监听键盘事件

使用addEventListener监听键盘事件,可捕获用户按键动作。常用事件类型包括keydown(按键按下)、keyup(按键释放)和keypress(字符输入)。

document.addEventListener('keydown', (event) => {
  console.log('按键代码:', event.keyCode);
  console.log('按键名称:', event.key);
});

获取按键信息

通过事件对象event获取按键详细信息:

  • event.key:返回按键的字符串表示(如"Enter"、"A")。
  • event.code:返回物理按键代码(如"KeyA"、"ArrowLeft")。
  • event.keyCode(已废弃):返回ASCII码值。
document.addEventListener('keyup', (event) => {
  if (event.key === 'Enter') {
    alert('回车键被按下');
  }
});

组合键检测

通过event.ctrlKeyevent.shiftKeyevent.altKey等属性检测组合键:

js 实现键盘输入

document.addEventListener('keydown', (event) => {
  if (event.ctrlKey && event.key === 's') {
    event.preventDefault(); // 阻止默认保存行为
    console.log('Ctrl+S 被按下');
  }
});

输入框实时监听

对特定输入框绑定键盘事件,实现实时反馈:

const input = document.getElementById('myInput');
input.addEventListener('input', (event) => {
  console.log('当前输入值:', event.target.value);
});

游戏控制示例

通过方向键控制游戏角色移动:

js 实现键盘输入

const player = { x: 0, y: 0 };
document.addEventListener('keydown', (event) => {
  switch(event.key) {
    case 'ArrowUp': player.y--; break;
    case 'ArrowDown': player.y++; break;
    case 'ArrowLeft': player.x--; break;
    case 'ArrowRight': player.x++; break;
  }
  console.log('玩家位置:', player);
});

事件阻止默认行为

某些按键会触发浏览器默认行为(如空格键滚动页面),使用event.preventDefault()阻止:

document.addEventListener('keydown', (event) => {
  if (event.key === ' ') {
    event.preventDefault();
    console.log('空格键被禁用');
  }
});

自定义快捷键系统

实现可配置的快捷键绑定:

const shortcuts = {
  'Alt+D': () => console.log('打开调试工具'),
  'Shift+?': () => alert('显示帮助')
};

document.addEventListener('keydown', (event) => {
  const combo = [
    event.altKey && 'Alt',
    event.shiftKey && 'Shift',
    event.key
  ].filter(Boolean).join('+');

  if (shortcuts[combo]) {
    shortcuts[combo]();
  }
});

标签: 键盘输入js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现复选框

js实现复选框

实现复选框的基本方法 使用HTML的<input type="checkbox">元素创建复选框,并通过JavaScript监听其状态变化。 <input type="checkb…

js实现放大缩小

js实现放大缩小

使用 CSS transform 实现缩放 通过修改元素的 transform 属性实现平滑缩放效果。CSS 的 scale() 函数可以轻松调整元素大小。 const element = docu…

js实现点击隐藏

js实现点击隐藏

使用CSS类切换实现点击隐藏 通过添加或移除CSS类来控制元素的显示与隐藏。定义一个隐藏样式类如.hidden { display: none; },通过事件监听切换该类。 document.que…