@@ -8,6 +8,15 @@ function getParentNode(el: any) {
8
8
return null ;
9
9
}
10
10
11
+ // 处理mousemove到iframe区域会造成事件中断
12
+ const handleIframeEvent = ( value : "none" | "auto" ) => {
13
+ const iframeDoms = document . querySelectorAll ( ".layui-layer iframe" ) ;
14
+
15
+ iframeDoms . forEach ( ( iframe ) => {
16
+ ( iframe as HTMLIFrameElement ) . style . pointerEvents = value ;
17
+ } ) ;
18
+ } ;
19
+
11
20
const useMove = function (
12
21
el : HTMLElement ,
13
22
moveOut : boolean ,
@@ -24,6 +33,8 @@ const useMove = function (
24
33
const path = ( event . composedPath && event . composedPath ( ) ) || event . path ;
25
34
if ( path [ 0 ] . className === "layui-layer-title" ) {
26
35
if ( event . button == 0 && el != null ) {
36
+ handleIframeEvent ( "none" ) ;
37
+
27
38
const cs : any = getComputedStyle ( el ) ;
28
39
offsetX = event . pageX - el . offsetLeft + parseInt ( cs [ "margin-left" ] ) ;
29
40
offsetY = event . pageY - el . offsetTop + parseInt ( cs [ "margin-right" ] ) ;
@@ -81,6 +92,7 @@ const useMove = function (
81
92
flag = true ;
82
93
// 说明结束,传递 moveEnd 事件
83
94
endCallback ( ) ;
95
+ handleIframeEvent ( "auto" ) ;
84
96
document . removeEventListener ( "mousemove" , move ) ;
85
97
document . removeEventListener ( "mouseup" , stop ) ;
86
98
} ;
@@ -107,6 +119,8 @@ const useResize = function (
107
119
const path = ( event . composedPath && event . composedPath ( ) ) || event . path ;
108
120
if ( path [ 0 ] . className === "layui-layer-resize" ) {
109
121
if ( event . button == 0 && el != null ) {
122
+ handleIframeEvent ( "none" ) ;
123
+
110
124
const x = el . offsetLeft ;
111
125
const y = el . offsetTop ;
112
126
clientX = event . clientX ;
@@ -141,6 +155,7 @@ const useResize = function (
141
155
flag = true ;
142
156
// 说明结束,传递 moveEnd 事件
143
157
endCallback ( ) ;
158
+ handleIframeEvent ( "auto" ) ;
144
159
document . removeEventListener ( "mousemove" , move ) ;
145
160
document . removeEventListener ( "mouseup" , stop ) ;
146
161
} ;
0 commit comments