需求:只在看板页面时,全屏时,导航栏隐藏;取消全屏时,导航栏显示。
取消全屏时监听esc
mounted() {
//添加键盘Esc事件
this.$nextTick(() => {
document.addEventListener("keyup", e => {
if (e.keyCode == 27) {
this.changeMethodf(); //事件名
}
});
});
},
存在问题:首次按下esc虽然退出全屏,但是监听不到。第二次按下esc才能监听到
继续找解决办法,发现:
screenfull.isFullscreen是可以判断是否为全屏状态的
click() {
if (!screenfull.enabled) {
this.$message({
message: "you browser can not work",
type: "warning"
});
return false;
} else {
screenfull.toggle();
if (this.$route.name == "repairTaskKanban") {
screenfull.on("change", () => {
if (screenfull.isFullscreen) {
// console.log("全屏时,要执行的操作")
document.getElementsByClassName(
"navbar"
)[0].style.display = "none";
} else {
// console.log("取消全屏时,要执行的操作")
document.getElementsByClassName(
"navbar"
)[0].style.display = "block";
}
});
}
}
}
附:浏览器全屏插件screenfull.js与全屏状态监听使用方法:https://www.jianshu.com/p/cfbb13c32c9c
最后,感谢博主「weixin_41243385」的博客指点迷津
在Vue项目中,需求是当看板页面全屏时隐藏导航栏,退出全屏则显示导航栏。然而遇到一个问题,首次按esc退出全屏时无法监听到该事件,只有第二次按esc时才能触发监听。通过使用screenfull.js库,发现screenfull.isFullscreen可以检查当前是否处于全屏状态。结合博主「weixin_41243385」的指导,成功解决了首次退出全屏监听不到的问题。





