React如何实现全屏监听Esc键

目录

全屏监听Esc键

全屏与退出全屏

监听退出全屏事件

React添加监听事件 监听键盘事件

react添加监听事件监听键盘事件

全屏监听Esc键 全屏与退出全屏 if (isFull) {       document.exitFullscreen();     } else {       tree.current.requestFullscreen();       tree.current.style.width = '100%'     }   }; 监听退出全屏事件

退出方式有两种:

1.通过上面的requestFullscreen。

2.通过按esc退出

问题:通过requestFullscreen操作可以修改数据状态,但当用户按esc键时,是监听不到的。

采用如下方式: 

const escFunction = () => { setFull((prevFill) => !prevFill); } useEffect(() => { // 监听退出全屏事件 --- chrome 用 esc 退出全屏并不会触发 keyup 事件 document.addEventListener("webkitfullscreenchange", escFunction); /* Chrome, Safari and Opera */ document.addEventListener("mozfullscreenchange", escFunction); /* Firefox */ document.addEventListener("fullscreenchange", escFunction); /* Standard syntax */ document.addEventListener("msfullscreenchange", escFunction); /* IE / Edge */ return () => { //销毁时清除监听 document.removeEventListener("webkitfullscreenchange", escFunction); document.removeEventListener("mozfullscreenchange", escFunction); document.removeEventListener("fullscreenchange", escFunction); document.removeEventListener("MSFullscreenChange", escFunction); } }, []); React添加监听事件 监听键盘事件 react添加监听事件监听键盘事件

参考:

记录下确认框confirm代码:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    React解决长列表方案|react-virtualized

    React解决长列表方案|react-virtualized,元素,过程,github地址高效渲染大型列表的响应式组件 使用窗口特性,即在一个滚动的范围内,呈现你

    ReactOS是什么

    ReactOS是什么,审查,开发者,通用,开放源码,项目,维护,  ReactOS是一个开发与Windows NT和Windows 2000 应用程序、硬件驱动程序兼容的开源操

    用React完成一个图片轮播组件

    用React完成一个图片轮播组件,用,React,完成,一个,图片,轮播,组件,使用,React,,  使用React实现上述功能,首先,划分组件:  <SlideMS><Sli

    初学react用什么书籍

    初学react用什么书籍,初学,react,用,什么,书籍,初学,react,用,什么,,  初学react用什么书籍?  如果你没接触过JS,那么就要从JS基础开始

    Vue3.0API介绍中reactive使用示例

    Vue3.0API介绍中reactive使用示例,Vue3.0API,介绍,中,reactive,使用,示例,Vue3.0API,,Vue3.0API介绍中reactive使用示例reactive返回对象

    Angular 4.x中表单Reactive Forms详解

    这篇文章主要介绍了Angular 4.x中表单Reactive Forms的相关资料,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考价值,需要的朋