当前位置:首页 > 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实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现滑动

js实现滑动

实现滑动效果的方法 在JavaScript中实现滑动效果可以通过多种方式完成,以下是几种常见的实现方法: 使用CSS过渡和JavaScript触发 通过CSS定义过渡效果,JavaScript控制触…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…