当前位置:首页 > 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实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的cur…