当前位置:首页 > 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实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

vue键盘实现

vue键盘实现

Vue 键盘事件实现方法 在Vue中实现键盘事件可以通过v-on指令或@简写绑定键盘事件。常用的键盘事件包括keydown、keyup和keypress。 <template> &l…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js实现复制功能实现

js实现复制功能实现

使用document.execCommand方法(传统方式,已逐渐被弃用) 传统方式通过document.execCommand('copy')实现复制功能,需先选中文本。以下是一个完整示例: fu…

js 实现按钮点击

js 实现按钮点击

实现按钮点击的 JavaScript 方法 HTML 按钮元素 在 HTML 中创建一个按钮,可以通过 <button> 或 <input> 标签实现: <button…