当前位置:首页 > 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")。

js实现按键

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

检测组合键

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

js实现按键

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('阻止了页面刷新');
  }
});

游戏中的按键处理

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

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实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现选题

js实现选题

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

节流js实现

节流js实现

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

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…