vue全屏事件与关闭全屏事件

简介: vue全屏事件与关闭全屏事件

首先,在 Vue 组件中,可以使用 @click 或者 v-on 来监听点击事件,然后通过调用相应的方法来触发全屏或关闭全屏。

执行requestFullscreen事件

<template>
  <div>
    <button @click="enterFullScreen">进入全屏</button>
    <button @click="exitFullScreen">退出全屏</button>
  </div>
</template>
<script setup>
import { ref } from 'vue';
const isFullScreen = ref(false);
function enterFullScreen() {
  const element = document.documentElement;
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.mozRequestFullScreen) { // Firefox
    element.mozRequestFullScreen();
  } else if (element.webkitRequestFullscreen) { // Chrome, Safari and Opera
    element.webkitRequestFullscreen();
  } else if (element.msRequestFullscreen) { // IE/Edge
    element.msRequestFullscreen();
  }
  isFullScreen.value = true;
}
function exitFullScreen() {
  if (document.exitFullscreen) {
    document.exitFullscreen();
  } else if (document.mozCancelFullScreen) { // Firefox
    document.mozCancelFullScreen();
  } else if (document.webkitExitFullscreen) { // Chrome, Safari and Opera
    document.webkitExitFullscreen();
  } else if (document.msExitFullscreen) { // IE/Edge
    document.msExitFullscreen();
  }
  isFullScreen.value = false;
}
</script>

也可以执行esc键进行关闭全屏并执行其他操作

const handleKeyDown = (event) => {
   if (event.key === 'Escape') {//esc键盘事件
      // 在退出全屏时执行其他操作
};
相关文章
|
15小时前
|
JavaScript
vue页面加载时同时请求两个接口
vue页面加载时同时请求两个接口
|
15小时前
|
JavaScript
vue打印v-model 的值
vue打印v-model 的值
|
15小时前
|
XML 移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable定时捕获事件代码升级修改
ruoyi-nbcio-plus基于vue3的flowable定时捕获事件代码升级修改
|
15小时前
|
移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable定时边界事件代码升级修改(三)
ruoyi-nbcio-plus基于vue3的flowable定时边界事件代码升级修改(三)
|
15小时前
|
JavaScript
Vue实战-组件通信
Vue实战-组件通信
7 0
|
15小时前
|
JavaScript
Vue实战-将通用组件注册为全局组件
Vue实战-将通用组件注册为全局组件
7 0
|
15小时前
|
JavaScript 前端开发
vue的论坛管理模块-文章评论02
vue的论坛管理模块-文章评论02
|
15小时前
|
JavaScript Java
vue的论坛管理模块-文章查看-01
vue的论坛管理模块-文章查看-01
|
15小时前
|
JavaScript
VUE里的find与filter使用与区别
VUE里的find与filter使用与区别
18 0
|
15小时前
|
JavaScript
vue里样式不起作用的方法,可以通过deep穿透的方式
vue里样式不起作用的方法,可以通过deep穿透的方式
14 0