当前位置:首页 > JavaScript

js 实现esc

2026-03-14 21:26:52JavaScript

监听键盘事件

在JavaScript中,可以通过监听键盘事件来检测ESC键的按下。使用keydownkeyup事件,检查事件的key属性是否为"Escape"

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') {
    console.log('ESC键被按下');
    // 执行相关操作
  }
});

使用keyCode(兼容旧浏览器)

对于需要兼容旧浏览器的场景,可以使用keyCode属性。ESC键的keyCode值为27。

document.addEventListener('keydown', function(event) {
  if (event.keyCode === 27) {
    console.log('ESC键被按下');
    // 执行相关操作
  }
});

结合事件委托

如果需要为动态生成的元素绑定ESC键事件,可以使用事件委托,将事件监听器绑定到父元素上。

document.body.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') {
    console.log('ESC键被按下');
    // 执行相关操作
  }
});

防止事件冒泡

在某些情况下,可能需要阻止ESC键事件的默认行为或冒泡。

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') {
    event.preventDefault();
    event.stopPropagation();
    console.log('ESC键被按下,并阻止默认行为');
  }
});

结合模态框关闭

ESC键常用于关闭模态框或弹出窗口。以下是一个示例:

const modal = document.getElementById('modal');

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape' && modal.style.display === 'block') {
    modal.style.display = 'none';
  }
});

使用事件移除

如果需要临时禁用ESC键功能,可以移除事件监听器。

js 实现esc

function handleEsc(event) {
  if (event.key === 'Escape') {
    console.log('ESC键被按下');
  }
}

document.addEventListener('keydown', handleEsc);

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

标签: jsesc
分享给朋友:

相关文章

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…