vue 使用screenfull.js,全屏时不能监控到esc键的问题
screenFull () {
screenfull.toggle() //切换全屏
if (screenfull.enabled) {
screenfull.on('change', () => {
if(screenfull.isFullscreen){
//全屏时,要执行的操作
}else{
//取消全屏时,要执行的操作
}
// console.log('Am I fullscreen?', screenfull.isFullscreen ? 'Yes' : 'No');
});
}
},
项目要加的功能是:全屏时,导航栏隐藏;取消全屏时,导航栏显示。
我一开始的思路是,监听esc键,当esc按动时,执行导航栏显示的代码。然后我发现,在全屏时,是监控不到这个按键的。接着我又想,那能不能监听到浏览器页面[退出全屏],这个动作,网上的很多例子我试了也没有成功。我又用了window.onresize,就在我以为自己成功了的时候,我发现,当页面没有最大化,鼠标拖动,导航栏也会时有时无。然后在网友帖子的启发下,我去看了原文档,screenfull.isFullscreen是可以判断是否为全屏状态的。
长路漫漫,给自己做一个笔记,如果能够帮助被同样问题困扰的你,深感荣幸,欢迎指教!