当前位置:首页 > JavaScript

键盘 js 实现

2026-04-05 08:54:06JavaScript

键盘事件监听实现

使用JavaScript监听键盘事件可以通过addEventListener方法实现。以下是基本代码示例:

键盘 js 实现

document.addEventListener('keydown', function(event) {
  console.log('按键按下:', event.key);
});

document.addEventListener('keyup', function(event) {
  console.log('按键释放:', event.key);
});

常用键盘事件类型

  • keydown: 按键按下时触发
  • keyup: 按键释放时触发
  • keypress: 按键按下并产生字符时触发(已废弃,不推荐使用)

获取按键信息

事件对象包含以下常用属性:

键盘 js 实现

event.key        // 返回按键的字符串表示(如"a"、"Enter")
event.code       // 返回物理按键代码(如"KeyA"、"Enter")
event.which      // 返回按键的ASCII码(已废弃)
event.keyCode    // 返回按键的ASCII码(已废弃)

组合键检测

检测组合键(如Ctrl+C):

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

阻止默认行为

阻止按键的默认行为:

document.addEventListener('keydown', function(event) {
  if (event.key === 'Space') {
    event.preventDefault(); // 阻止空格键滚动页面
  }
});

完整示例

<!DOCTYPE html>
<html>
<body>
<script>
document.addEventListener('keydown', function(e) {
  const output = document.getElementById('output');
  output.innerHTML = `
    Key: ${e.key}<br>
    Code: ${e.code}<br>
    Ctrl: ${e.ctrlKey}<br>
    Shift: ${e.shiftKey}<br>
    Alt: ${e.altKey}<br>
    Meta: ${e.metaKey}
  `;

  if (e.ctrlKey && e.key === 's') {
    e.preventDefault();
    alert('保存操作被拦截');
  }
});
</script>
<div id="output">按下任意键查看信息</div>
</body>
</html>

注意事项

  1. keyCodewhich属性已废弃,应使用keycode
  2. 不同浏览器对某些特殊键的key值可能有差异
  3. 国际键盘布局可能导致key值不同
  4. 移动设备键盘事件支持有限

以上代码可直接复制使用,实现基本的键盘交互功能。根据实际需求可扩展更复杂的功能。

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

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…