欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > vue中监听ESC事件第一次点击只会触发浏览器退出全屏事件,第二次才触发自己写的监听

vue中监听ESC事件第一次点击只会触发浏览器退出全屏事件,第二次才触发自己写的监听

2025/3/11 16:19:33 来源:https://blog.csdn.net/qq_45067263/article/details/146154732  浏览:    关键词:vue中监听ESC事件第一次点击只会触发浏览器退出全屏事件,第二次才触发自己写的监听

项目场景:

比如项目是后台管理,常见的架构左侧菜单+右侧内容区域里边涉及到可视化,全屏切换的问题,测试提了一个bug,全屏后点击ESC只取消了浏览器全屏,取消后全屏菜单栏不显示,比如侧边栏和头部还处于隐藏状态,解决结果如下

问题描述

首先采用vue中监听退出全屏事件时,按第一下esc键不执行我的事件只退出全屏打印都不打印,按第二下才执行:

mounted() {//监听键盘Esc按键事件this.$nextTick(function() {// 按下键盘document.addEventListener('keydown', function(e) {// Esc按键是27 if (e.keyCode == 27) {//在这里写你的操作逻辑console.log("打印了");//在这里写退出全屏操作,比如侧边栏显示,头部内容显示等等}});});
}

解决方案:

mounted() {//监听键盘Esc按键事件document.addEventListener('fullscreenchange', (event) => {if (document.fullscreenElement) {console.log(11111可以不用管’);} else {console.log('点击退出全屏操作');//在这里写退出全屏操作,比如侧边栏显示,头部内容显示等等}});
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词