vue大屏项目中,当按下Esc键后按钮没变化

!!!!亲测,有效!!!!

直接上代码:

data中定义变量:isFullScreen: false,

html:

<div class="btn">
    <span id="requestFullcsreen" @click="showScreen" v-show="!isFullScreen">全屏</span>
    <span id="exitFullScreen" @click="exitFullScreen" v-show="isFullScreen" class="out">退出</span>
</div>
js:
methods中写方法
methods:{
	// 点击全屏
        showScreen(){
          this.isFullScreen = true;
          var element = document.documentElement;
          if (element.requestFullscreen) {
              element.requestFullscreen();
          } else if (element.mozRequestFullScreen) {
              /* Firefox */
              element.mozRequestFullScreen();
          } else if (element.webkitRequestFullscreen) {
              /* Chrome, Safari & Opera */
              element.webkitRequestFullscreen();
          } else if (element.msRequestFullscreen) {
              /* IE/Edge */
              element.msRequestFullscreen();
          }
        },

        // 退出全屏
        exitFullScreen(){
          this.isFullScreen = false;

          if (document.exitFullscreen) {
            document.exitFullscreen();
          }
          else if (document.mozCancelFullScreen) {
              document.mozCancelFullScreen();
          }
          else if (document.webkitCancelFullScreen) {
              document.webkitCancelFullScreen();
          }
          else if (document.msExitFullscreen) {
              document.msExitFullscreen();
          }

        },
        
        // 监听全屏
        checkFull(){
          let isFull = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullScreenElement || document.msFullscreenElement;
          if ( !isFull ) {
            isFull = false
          } else {
            isFull = true
          }
          return isFull
        },
}

监听窗口的大小:

mounted(){
	window.addEventListener('resize',() => {
          if (!this.checkFull() && this.isFullScreen) {
            this.isFullScreen = false   // 变量与data中对应
          }
        })
}

至此,完美解决全屏后按下Esc退出事件按钮变为【全屏】字眼!!!

【结束】
ps:---->>>>【有用的话记得点赞哦!如果不行的话可以后台私信哦!!!】

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值