今天小编给大家分享一下React怎么实现全屏监听Esc键的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
全屏监听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代码:
以上就是“React怎么实现全屏监听Esc键”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云搜网行业资讯频道。