@@ -45,6 +45,16 @@ export default class PCPlugin extends BasePlugin {
4545 ! enableContextmenu && media && media . addEventListener ( 'contextmenu' , this . onContextmenu , false )
4646 }
4747
48+ /**
49+ * 检查Mobile插件是否正在处理touch事件,如果其正在处理touch事件,则不响应mouse事件
50+ * @returns {boolean }
51+ * @private
52+ */
53+ _isMobileTouchActive ( ) {
54+ const mobilePlugin = this . player ?. plugins ?. mobile
55+ return ! ! mobilePlugin && mobilePlugin . _isTouchActive === true
56+ }
57+
4858 switchPlayPause ( e ) {
4959 const { player } = this
5060 this . emitUserAction ( e , 'switch_play_pause' , { props : 'paused' , from : player . paused , to : ! player . paused } )
@@ -55,15 +65,31 @@ export default class PCPlugin extends BasePlugin {
5565 }
5666 }
5767
68+ /**
69+ * @param {MouseEvent } e
70+ */
5871 onMouseMove = ( e ) => {
72+ if ( this . _isMobileTouchActive ( ) ) {
73+ e ?. stopImmediatePropagation ( )
74+ return
75+ }
76+
5977 const { player, playerConfig } = this
6078 if ( ! player . isActive ) {
6179 player . focus ( { autoHide : ! playerConfig . closeDelayBlur } )
6280 ! playerConfig . closeFocusVideoFocus && player . media . focus ( )
6381 }
6482 }
6583
84+ /**
85+ * @param {MouseEvent } e
86+ */
6687 onMouseEnter = ( e ) => {
88+ if ( this . _isMobileTouchActive ( ) ) {
89+ e ?. stopImmediatePropagation ( )
90+ return
91+ }
92+
6793 const { playerConfig, player } = this
6894 ! playerConfig . closeFocusVideoFocus && player . media . focus ( )
6995 if ( playerConfig . closeDelayBlur ) {
@@ -74,7 +100,15 @@ export default class PCPlugin extends BasePlugin {
74100 this . emit ( ENTER_PLAYER )
75101 }
76102
103+ /**
104+ * @param {MouseEvent } e
105+ */
77106 onMouseLeave = ( e ) => {
107+ if ( this . _isMobileTouchActive ( ) ) {
108+ e ?. stopImmediatePropagation ( )
109+ return
110+ }
111+
78112 const { closePlayerBlur, leavePlayerTime, closeDelayBlur } = this . playerConfig
79113 if ( ! closePlayerBlur && ! closeDelayBlur ) {
80114 if ( leavePlayerTime ) {
0 commit comments