当前位置:首页 > JavaScript

js 实现esc

2026-02-01 22:07:41JavaScript

监听键盘ESC键事件

在JavaScript中监听ESC键可以通过keydownkeyup事件实现。ESC键的键码是27,现代浏览器也支持key属性直接判断按键名称。

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape' || event.keyCode === 27) {
    console.log('ESC键被按下');
    // 执行关闭模态框、退出全屏等操作
  }
});

移除ESC事件监听器

如果需要动态取消监听,需使用命名函数而非匿名函数:

function handleEsc(event) {
  if (event.key === 'Escape') {
    console.log('ESC触发');
  }
}

// 添加监听
document.addEventListener('keydown', handleEsc);

// 移除监听
document.removeEventListener('keydown', handleEsc);

React/Vue中的实现

在框架中使用时需要注意组件卸载时的清理:

React示例:

useEffect(() => {
  const handleEsc = (event) => {
    if (event.key === 'Escape') {
      closeModal();
    }
  };
  window.addEventListener('keydown', handleEsc);
  return () => window.removeEventListener('keydown', handleEsc);
}, []);

Vue示例:

mounted() {
  window.addEventListener('keydown', this.handleEsc);
},
beforeUnmount() {
  window.removeEventListener('keydown', this.handleEsc);
},
methods: {
  handleEsc(event) {
    if (event.key === 'Escape') {
      this.$emit('close');
    }
  }
}

浏览器兼容性处理

对于老旧浏览器可结合keyCodewhich属性:

document.onkeydown = function(event) {
  event = event || window.event;
  const key = event.key || event.keyCode;
  if (key === 'Escape' || key === 27) {
    // 兼容处理
  }
};

实际应用场景

  1. 关闭模态框:检测ESC键关闭弹出的对话框
  2. 退出全屏模式:与document.exitFullscreen()配合使用
  3. 取消操作:在表单编辑等场景中提供快捷取消方式

注意事项:

js 实现esc

  • 避免在同一个页面多次绑定相同事件
  • 全屏API在某些浏览器需要特定权限
  • 移动端设备通常没有物理ESC键

标签: jsesc
分享给朋友:

相关文章

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现求导

js实现求导

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

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js图片轮播的实现

js图片轮播的实现

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