当前位置:首页 > JavaScript

js实现按键

2026-04-06 06:13:19JavaScript

监听键盘事件

使用 addEventListener 监听键盘事件,常见的事件类型包括 keydownkeyupkeypresskeydown 在按键按下时触发,keyup 在按键释放时触发,keypress 在按键按下并产生字符时触发。

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

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

获取按键信息

事件对象 event 包含按键的详细信息,如 keycodekeyCode(已废弃)。key 返回按键的字符串表示(如 "Enter"、"a"),code 返回物理按键的代码(如 "KeyA"、"Space")。

document.addEventListener('keydown', function(event) {
  console.log('按键:', event.key);
  console.log('物理按键代码:', event.code);
});

检测组合键

通过检查 event.ctrlKeyevent.shiftKeyevent.altKeyevent.metaKey 可以检测是否按下了修饰键(如 Ctrl、Shift 等)。

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

阻止默认行为

某些按键会触发浏览器的默认行为(如 F5 刷新页面),调用 event.preventDefault() 可以阻止这些行为。

document.addEventListener('keydown', function(event) {
  if (event.key === 'F5') {
    event.preventDefault();
    console.log('阻止了页面刷新');
  }
});

游戏中的按键处理

在游戏开发中,通常需要持续检测按键状态。可以通过记录按键的按下和释放状态来实现。

js实现按键

const keys = {};

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

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

// 在游戏循环中检测按键状态
function gameLoop() {
  if (keys['ArrowUp']) {
    console.log('向上移动');
  }
  requestAnimationFrame(gameLoop);
}
gameLoop();

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

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

vue实现图文按键

vue实现图文按键

Vue 实现图文按键的方法 在 Vue 中实现图文按键通常涉及使用自定义按钮组件,结合图标和文字内容。以下是几种常见的实现方式: 使用第三方图标库(如 Font Awesome) 安装 Font A…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let curr…