vue 使用screenfull.js,退出全屏时不能监控到首次按下esc

在Vue项目中,需求是当看板页面全屏时隐藏导航栏,退出全屏则显示导航栏。然而遇到一个问题,首次按esc退出全屏时无法监听到该事件,只有第二次按esc时才能触发监听。通过使用screenfull.js库,发现screenfull.isFullscreen可以检查当前是否处于全屏状态。结合博主「weixin_41243385」的指导,成功解决了首次退出全屏监听不到的问题。
摘要由CSDN通过智能技术生成

需求:只在看板页面时,全屏时,导航栏隐藏;取消全屏时,导航栏显示。
取消全屏时监听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("全屏时,要执行的操作")
              
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值