当前位置:首页 > JavaScript

js 实现按键

2026-04-06 00:28:41JavaScript

监听键盘事件

使用 addEventListener 监听键盘事件,支持 keydownkeyupkeypress 三种类型:

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

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

获取按键信息

通过事件对象 event 可以获取按键详细信息:

document.addEventListener('keydown', function(event) {
  console.log('按键代码:', event.keyCode || event.which);
  console.log('按键名称:', event.key);
  console.log('组合键状态:', {
    ctrl: event.ctrlKey,
    alt: event.altKey,
    shift: event.shiftKey,
    meta: event.metaKey
  });
});

阻止默认行为

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

js 实现按键

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

实现快捷键组合

检测组合键操作示例:

document.addEventListener('keydown', function(event) {
  if (event.ctrlKey && event.key === 's') {
    event.preventDefault();
    console.log('Ctrl+S 保存操作');
  }
});

游戏控制示例

实现方向键控制游戏角色的基础代码:

js 实现按键

const player = { x: 0, y: 0 };

document.addEventListener('keydown', function(event) {
  const speed = 5;
  switch(event.key) {
    case 'ArrowUp': player.y -= speed; break;
    case 'ArrowDown': player.y += speed; break;
    case 'ArrowLeft': player.x -= speed; break;
    case 'ArrowRight': player.x += speed; break;
  }
  console.log('玩家位置:', player);
});

输入框特殊处理

针对 <input> 元素的按键处理需要额外注意焦点问题:

const inputField = document.querySelector('input');
inputField.addEventListener('keydown', function(event) {
  if (event.key === 'Enter') {
    console.log('输入内容:', this.value);
  }
});

移动端虚拟键盘

移动设备需要额外处理虚拟键盘事件:

window.addEventListener('resize', function() {
  if (window.innerHeight < window.outerHeight * 0.8) {
    console.log('虚拟键盘弹出');
  } else {
    console.log('虚拟键盘收起');
  }
});

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

相关文章

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…