修复鼠标自动隐藏问题

pull/930/merge
lyswhut 2022-04-05 16:47:37 +08:00
parent 4b4de8937e
commit e92e291409
2 changed files with 13 additions and 15 deletions

View File

@ -41,13 +41,13 @@ const handleMouseUp = () => {
startTimeout()
}
export const registerAutoHideMounse = _dom => {
if (isAutoHide || !_dom) return
export const registerAutoHideMounse = () => {
if (isAutoHide) return
if (!dom) dom = document.getElementById('root')
isAutoHide = true
_dom.addEventListener('mousemove', handleMouseMove)
_dom.addEventListener('mousedown', handleMouseDown)
_dom.addEventListener('mouseup', handleMouseUp)
dom = _dom
document.addEventListener('mousemove', handleMouseMove)
document.addEventListener('mousedown', handleMouseDown)
document.addEventListener('mouseup', handleMouseUp)
startTimeout()
}
@ -55,8 +55,8 @@ export const unregisterAutoHideMounse = dom => {
if (!isAutoHide) return
isAutoHide = false
// console.log(dom)
dom?.removeEventListener('mousemove', handleMouseMove)
dom?.removeEventListener('mousedown', handleMouseDown)
dom?.removeEventListener('mouseup', handleMouseUp)
dom.removeEventListener('mousemove', handleMouseMove)
dom.removeEventListener('mousedown', handleMouseDown)
dom.removeEventListener('mouseup', handleMouseUp)
unLockPointer()
}

View File

@ -1,6 +1,6 @@
<template lang="pug">
transition(enter-active-class="animated lightSpeedIn" leave-active-class="animated slideOutDown" @after-enter="handleAfterEnter" @after-leave="handleAfterLeave")
div(:class="[$style.container, { [$style.fullscreen]: isFullscreen }]" @contextmenu="handleContextMenu" v-if="isShowPlayerDetail" ref="dom_content")
div(:class="[$style.container, { [$style.fullscreen]: isFullscreen }]" @contextmenu="handleContextMenu" v-if="isShowPlayerDetail")
div(:class="$style.bg")
//- div(:class="$style.bg" :style="bgStyle")
//- div(:class="$style.bg2")
@ -84,7 +84,6 @@ export default {
setup() {
const setting = useRefGetter('setting')
const visibled = ref(false)
const dom_content = ref(null)
let clickTime = 0
@ -105,7 +104,7 @@ export default {
}
const handleAfterEnter = () => {
if (isFullscreen.value) registerAutoHideMounse(dom_content.value)
if (isFullscreen.value) registerAutoHideMounse()
visibled.value = true
}
@ -115,11 +114,11 @@ export default {
hideComment(false)
visibled.value = false
unregisterAutoHideMounse(dom_content.value)
unregisterAutoHideMounse()
}
watch(isFullscreen, isFullscreen => {
(isFullscreen ? registerAutoHideMounse : unregisterAutoHideMounse)(dom_content.value)
(isFullscreen ? registerAutoHideMounse : unregisterAutoHideMounse)()
})
return {
@ -135,7 +134,6 @@ export default {
handleAfterLeave,
visibled,
isFullscreen,
dom_content,
fullscreenExit() {
window.eventHub.emit(eventBaseName.fullscreenToggle, false)
},