React如何實現全屏監(jiān)聽Esc鍵
更新時間:2022年08月08日 16:46:30 作者:咕咚咕咚咚
這篇文章主要介紹了React如何實現全屏監(jiān)聽Esc鍵,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
全屏監(jiān)聽Esc鍵
全屏與退出全屏
if (isFull) {
? ? ? document.exitFullscreen();
? ? } else {
? ? ? tree.current.requestFullscreen();
? ? ? tree.current.style.width = '100%'
? ? }
? };監(jiān)聽退出全屏事件
退出方式有兩種:
- 1.通過上面的requestFullscreen。
- 2.通過按esc退出
問題:通過requestFullscreen操作可以修改數據狀態(tài),但當用戶按esc鍵時,是監(jiān)聽不到的。
采用如下方式:
const escFunction = () => {
setFull((prevFill) => !prevFill);
}
useEffect(() => {
// 監(jiān)聽退出全屏事件 --- chrome 用 esc 退出全屏并不會觸發(fā) 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 () => {
//銷毀時清除監(jiān)聽
document.removeEventListener("webkitfullscreenchange", escFunction);
document.removeEventListener("mozfullscreenchange", escFunction);
document.removeEventListener("fullscreenchange", escFunction);
document.removeEventListener("MSFullscreenChange", escFunction);
}
}, []);React添加監(jiān)聽事件 監(jiān)聽鍵盤事件
react添加監(jiān)聽事件監(jiān)聽鍵盤事件



參考:

記錄下確認框confirm代碼:

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

