当前位置:首页 > JavaScript

js实现按键

2026-02-01 13:24:27JavaScript

监听键盘事件

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

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

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

获取按键信息

事件对象event包含按键的详细信息:

js实现按键

  • event.key:返回按键的字符串表示(如"a""Enter")。
  • event.code:返回物理按键的代码(如"KeyA""Enter")。
  • event.whichevent.keyCode:返回按键的ASCII码(已废弃,但部分旧代码仍在使用)。
document.addEventListener('keydown', function(event) {
  console.log('按键:', event.key);
  console.log('物理按键代码:', event.code);
  console.log('ASCII码:', event.keyCode);
});

阻止默认行为

某些按键会触发浏览器的默认行为(如空格键滚动页面)。可以通过event.preventDefault()阻止默认行为。

js实现按键

document.addEventListener('keydown', function(event) {
  if (event.key === ' ') {
    event.preventDefault();
    console.log('空格键被阻止');
  }
});

组合键检测

通过检查event.ctrlKeyevent.shiftKeyevent.altKeyevent.metaKey,可以检测是否按下了组合键。

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

游戏开发中的连续按键

在游戏开发中,通常需要检测按键的持续按下状态。可以通过维护一个对象来记录按键状态。

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实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js 实现vue

js 实现vue

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

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js类实现

js类实现

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

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…