浏览器全屏,按下两次esc方法的解决思路

4 篇文章 0 订阅

 浏览器全屏之后添加键盘事件,当再次按下esc取消全屏时候我们会发现第一次的键盘事件是不触发的,解决思路如下。

首先安装依赖,命令行输入

npm install screenfull

 然后引入

import screenfull from "screenfull";

模板中写入

<template>
  <div>
    <button @click="but">全屏</button>
    <!-- <div class="animation">哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊</div> -->
    <button @click="kaiqi">开启关闭</button>
  </div>
</template>

<script>
import screenfull from "screenfull";
import { ref, onMounted, reactive } from "vue";
export default {
  setup() {
    const isFullscreen = ref(false);
    const but = () => {
      screenfull.toggle();
    };
    const change = () => {
      isFullscreen.value = screenfull.isFullscreen;
      // console.log(isFullscreen.value);
      if (isFullscreen.value == true) {
        console.log("打开全屏");
      } else if (isFullscreen.value == false) {
        console.log("关闭全屏");
      }
    };
    onMounted(() => {
      screenfull.on("change", change);
      console.log(isFullscreen.value);
    });
    const isanimation = reactive({
      animation: false,
    });
    const kaiqi = () => {
      isanimation.animation = !isanimation.animation;
    };
    return {
      isanimation,
      kaiqi,
      change,
      isFullscreen,
      but,
    };
  },
};
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值