首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

esc+js监听

ESC 键在 JavaScript 中通常用于监听键盘事件,特别是当需要实现如退出全屏、关闭模态窗口、取消操作等功能时。以下是关于如何使用 JavaScript 监听 ESC 键的基础概念、优势、应用场景以及示例代码。

基础概念

在 JavaScript 中,可以通过监听 keydownkeyup 事件来检测 ESC 键的按下。ESC 键的键码是 27。

优势

  1. 用户体验:允许用户通过键盘快速执行常见操作,提高网站或应用的易用性。
  2. 无障碍性:对于使用辅助技术的用户(如屏幕阅读器),键盘导航是必不可少的。
  3. 跨平台:键盘事件在所有主流浏览器和操作系统上都是一致的。

应用场景

  1. 退出全屏模式:当用户进入全屏模式时,监听 ESC 键可以让他们快速退出。
  2. 关闭模态窗口:在显示模态窗口(如弹出框、对话框)时,监听 ESC 键可以让用户无需点击关闭按钮即可关闭窗口。
  3. 取消操作:在执行某些需要用户确认的操作时,监听 ESC 键可以提供取消操作的快捷方式。

示例代码

以下是一个简单的示例,展示如何使用 JavaScript 监听 ESC 键来关闭一个模态窗口:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ESC Key Listener Example</title>
<style>
  .modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
  }
  .modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
  }
</style>
</head>
<body>

<button id="openModalBtn">Open Modal</button>
<div id="myModal" class="modal">
  <div class="modal-content">
    <p>Some text in the Modal..</p>
  </div>
</div>

<script>
  const modal = document.getElementById("myModal");
  const openModalBtn = document.getElementById("openModalBtn");

  openModalBtn.onclick = function() {
    modal.style.display = "block";
  }

  window.onclick = function(event) {
    if (event.target == modal) {
      modal.style.display = "none";
    }
  }

  document.onkeydown = function(event) {
    if (event.keyCode === 27) { // ESC key
      modal.style.display = "none";
    }
  }
</script>

</body>
</html>

在这个示例中,当用户点击“Open Modal”按钮时,会显示一个模态窗口。用户可以通过点击窗口外部或按下 ESC 键来关闭该窗口。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【Java GUI编程】002-AWT学习笔记(二):事件监听、输入框事件监听、画笔、鼠标监听、窗口监听、键盘监听

    一、事件监听 1、事件监听 当某件事发生时,做些什么; 2、按钮点击监听 代码演示: package com.zibo.lession02; import java.awt.*; import java.awt.event.ActionEvent...public void actionPerformed(ActionEvent e) { System.out.println("AAA"); } } 运行结果: 3、两个按钮共用一个监听事件...{ System.out.println("按钮被点击了,ActionCommand:" + e.getActionCommand()); } } 运行结果: 二、输入框事件监听...setTitle(title); setBounds(300,300,500,500); setVisible(true); //鼠标监听事件...g.setColor(Color.RED); g.fillOval(point.x, point.y, 10, 10); } } } 运行结果: 六、窗口监听

    8510

    Android来电监听和去电监听

    我觉得写文章就得写得有用一些的,必须要有自己的思想,关于来电去电监听将按照下面三个问题展开 1、监听来电去电有什么用? 2、怎么监听,来电去电监听方式一样吗? 3、实战,有什么需要特别注意地方?...一、监听来电去电能干什么 1、能够对监听到的电话做个标识,告诉用户这个电话是诈骗、推销、广告什么的 2、能够针对那些特殊的电话进行自动挂断,避免打扰到用户 二、来电去电的监听方式(不一样的方式) 2.1...来去电监听方式一(PhoneStateListener)   来电监听是使用PhoneStateListener类,使用方式是,将PhoneStateListener对象(一般是自己继承PhoneStateListener...(详细实现可以参考后面给出的拓展阅读部分) 注册监听 private void registerPhoneStateListener() { CustomPhoneStateListener...Phone状态的监听机制

    4.9K80

    Android Glide加载图片、网络监听、设置资源监听

    Glide加载图片、加载进度监听 前言 正文 一、项目配置 二、显示网络图片 三、添加设置资源监听 四、添加设置资源监听 五、添加加载进度条 六、封装工具类 七、源码 总结 ---- 前言   在日常开发中使用...四、添加设置资源监听 改动代码如下所示。...改动如下: /** * 显示网络Url图片 附带加载网络监听和设置资源监听 * @param url 网络图片url * @param imageView 图片控件...* @param needNetListener 是否需要网络监听 * @param needResourceListener 是否需要设置资源监听 */ public static.../** * 显示网络Url图片 附带加载网络监听和设置资源监听 显示加载弹窗 * @param context 显示在哪个Activity/Fragment上 * @param

    5.7K20

    事件监听机制

    本篇文章我们就来聊一聊Java中的事件监听机制。 在了解事件监听机制之前,我们先来学习一个设计模式——观察者模式,事件监听机制的原理就是它。...事件监听机制 了解观察者模式之后,我们进入本篇文章的重心,事件监听机制。...在该模型中,有三个非常重要的概念: 事件 事件源 事件监听器 其具体流程是:用户操作(比如点击)导致事件触发,前提是事件监听器已经被注册好了,事件触发后会生成事件对象,此时事件对象会作为参数传递给事件监听器...,监听器调用对应的方法进行处理。...方法中会遍历所有的监听器,创建事件对象,并作为参数传入监听器的事件处理方法(triggerEvent) 监听器的triggerEvent方法会调用事件的回调方法(callback) 回调方法用于编写具体的处理逻辑

    8.3K10

    像监听页面一样监听戈多的动态

    它有以下三个方法: observe(target, options):监听对象,接受两个参数,一个是监听的对象(target),一个是观察的选项(options); disconnect():断开监听的功能...options选项可选参数(以下属性可设置为true): childList:监听目标子节点的变化; attributes:监听目标属性的变化; characterData:监听目标数据的变化; subtree...:监听目标以及其后代的变化; attributeOldValue:监听目标属性变化前的具体值; characterDataOldValue:监听目标数据变化前的具体值; attributeFilter:...如何监听戈多的位置? 下面我们就通过实际的代码来监听戈多的位置变化。 效果还是如同上图。...:监听元素与根元素的交叉区域信息; isIntersecting:判断监听元素是否与根元素相交,返回布尔值; intersectionRatio:监听元素的可见比例,即intersectionRect

    1.7K20

    Java事件监听机制

    再插一句 有一段时间断更了,是在更新数据结构与算法专栏,有兴趣的可以去看一看,比较不错 开始喽 事件监听机制 Java中的事件监听机制是一种用于处理用户交互事件的机制。...事件监听机制的工作流程如下: 定义事件源:事件源是触发事件的对象,它通常是一个类或接口。事件源需要提供注册和注销监听器的方法, 并在适当的时候触发事件。...定义事件监听器接口:事件监听器接口定义了事件发生时要执行的方法。通常,事件监听器接口包含一个或多个 事件处理方法。 实现事件监听器:根据定义的事件监听器接口,实现具体的事件监听器类。...注册事件监听器:在事件源上调用注册方法,将事件监听器对象注册到事件源上。这样,事件源就知道要通知哪 些监听器。...触发事件:当事件源发生事件时,它会遍历已注册的监听器列表,并调用每个监听器的事件处理方法。这样,每 个监听器都可以根据具体的业务需求执行相应的操作。

    26830
    领券