当前位置:首页 > JavaScript

js怎么实现组合键

2026-04-05 01:13:38JavaScript

监听键盘事件

通过 keydownkeyup 事件监听键盘操作。使用 event.keyevent.code 识别具体按键。

document.addEventListener('keydown', function(event) {
  console.log('Key pressed:', event.key);
});

记录按键状态

创建对象存储当前按下的键状态。keydown 时标记为 truekeyup 时标记为 false

js怎么实现组合键

const keysPressed = {};

document.addEventListener('keydown', function(event) {
  keysPressed[event.key] = true;
});

document.addEventListener('keyup', function(event) {
  keysPressed[event.key] = false;
});

检测组合键

keydown 事件中检查多个键是否同时被按下。例如检测 Ctrl + C

document.addEventListener('keydown', function(event) {
  if (event.ctrlKey && event.key === 'c') {
    console.log('Ctrl + C pressed');
  }
});

自定义组合键逻辑

通过遍历 keysPressed 对象实现自定义组合键检测。例如检测 A + B

js怎么实现组合键

document.addEventListener('keydown', function(event) {
  if (keysPressed['a'] && keysPressed['b']) {
    console.log('A + B pressed');
  }
});

防止默认行为

某些组合键可能触发浏览器默认行为(如 Ctrl + S 保存页面)。使用 event.preventDefault() 阻止默认行为。

document.addEventListener('keydown', function(event) {
  if (event.ctrlKey && event.key === 's') {
    event.preventDefault();
    console.log('Ctrl + S blocked');
  }
});

完整示例代码

以下代码实现 Shift + A + B 组合键检测:

const keysPressed = {};

document.addEventListener('keydown', function(event) {
  keysPressed[event.key] = true;

  if (keysPressed['Shift'] && keysPressed['a'] && keysPressed['b']) {
    console.log('Shift + A + B pressed');
    // 执行自定义操作
  }
});

document.addEventListener('keyup', function(event) {
  keysPressed[event.key] = false;
});

注意事项

  • 浏览器兼容性:event.keyevent.code 在不同浏览器可能有差异。
  • 大小写敏感:event.key 区分大小写,aA 不同。
  • 修饰键检测:可直接用 event.ctrlKeyevent.shiftKey 等属性检测修饰键。

标签: 组合键js
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js画图实现

js画图实现

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

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…