@whitesev/pops 3.3.1 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +123 -52
- package/dist/index.amd.js.map +1 -1
- package/dist/index.amd.min.js +1 -1
- package/dist/index.amd.min.js.map +1 -1
- package/dist/index.cjs.js +123 -52
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +123 -52
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.iife.js +123 -52
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.system.js +123 -52
- package/dist/index.system.js.map +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/dist/index.umd.js +123 -52
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/types/src/Pops.d.ts +24 -10
- package/dist/types/src/utils/PopsDOMUtils.d.ts +71 -21
- package/dist/types/src/utils/PopsUtils.d.ts +13 -0
- package/package.json +2 -1
- package/src/components/iframe/index.ts +2 -3
- package/src/handler/PopsHandler.ts +2 -2
- package/src/utils/PopsDOMUtils.ts +189 -67
- package/src/utils/PopsUtils.ts +17 -0
package/dist/types/src/Pops.d.ts
CHANGED
|
@@ -85,12 +85,13 @@ declare class Pops {
|
|
|
85
85
|
};
|
|
86
86
|
/** 禁止滚动 */
|
|
87
87
|
forbiddenScroll: {
|
|
88
|
-
event(event: Event):
|
|
88
|
+
event(event: Event): false;
|
|
89
89
|
};
|
|
90
90
|
/** pops使用的工具类 */
|
|
91
91
|
Utils: {
|
|
92
92
|
isWin(target: any): boolean;
|
|
93
93
|
isDOM(target: any): boolean;
|
|
94
|
+
isNodeList($ele: any): $ele is any[] | NodeList;
|
|
94
95
|
delete(target: any, propName: any): void;
|
|
95
96
|
assign<T1, T2 extends object, T3 extends boolean>(target: T1, source: T2, isAdd?: T3 | undefined): T3 extends true ? T1 & T2 : T1;
|
|
96
97
|
getRandomGUID(): string;
|
|
@@ -100,6 +101,7 @@ declare class Pops {
|
|
|
100
101
|
formatTime(text?: string | number | Date, formatType?: "yyyy-MM-dd HH:mm:ss" | "yyyy/MM/dd HH:mm:ss" | "yyyy_MM_dd_HH_mm_ss" | "yyyy\u5E74MM\u6708dd\u65E5 HH\u65F6mm\u5206ss\u79D2" | "yyyy\u5E74MM\u6708dd\u65E5 hh:mm:ss" | "yyyy\u5E74MM\u6708dd\u65E5 HH:mm:ss" | "yyyy-MM-dd" | "yyyyMMdd" | "HH:mm:ss"): string;
|
|
101
102
|
formatByteToSize<T extends boolean>(byteSize: number | string, addType?: T | undefined): T extends true ? string : number;
|
|
102
103
|
AnyTouch: () => typeof import("any-touch").default;
|
|
104
|
+
AnyTouchDoubleTapPlugin: () => typeof import("@any-touch/doubletap").default;
|
|
103
105
|
isPhone(userAgent?: string): boolean;
|
|
104
106
|
setTimeout(callback: (...args: any[]) => any, timeout?: number): number;
|
|
105
107
|
clearTimeout(timeId: number | undefined): void;
|
|
@@ -171,15 +173,27 @@ declare class Pops {
|
|
|
171
173
|
onReady<T extends (...args: any[]) => any>(callback: T): void;
|
|
172
174
|
emit(element: HTMLElement | string | NodeList | any[] | Window | Document, eventType: string | string[], details?: object, useDispatchToEmitEvent?: boolean): void;
|
|
173
175
|
emit(element: HTMLElement | string | NodeList | any[] | Window | Document, eventType: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_EventType | import("./types/PopsDOMUtilsEventType").PopsDOMUtils_EventType[], details?: object, useDispatchToEmitEvent?: boolean): void;
|
|
174
|
-
click(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["click"]) => void, details?: any, useDispatchToEmitEvent?: boolean):
|
|
175
|
-
blur(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmitEvent?: boolean):
|
|
176
|
-
focus(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmitEvent?: boolean):
|
|
177
|
-
onHover(element:
|
|
178
|
-
onKeyup(target: HTMLElement | string | Window | typeof globalThis, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keyup"]) => void, option?: boolean | AddEventListenerOptions):
|
|
179
|
-
onKeydown(target: HTMLElement | Window | typeof globalThis | string, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keydown"]) => void, option?: boolean | AddEventListenerOptions):
|
|
180
|
-
onKeypress(target: HTMLElement | Window | typeof globalThis | string, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keypress"]) => void, option?: boolean | AddEventListenerOptions):
|
|
181
|
-
preventEvent(event: Event):
|
|
182
|
-
preventEvent(
|
|
176
|
+
click(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["click"]) => void, details?: any, useDispatchToEmitEvent?: boolean): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
177
|
+
blur(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmitEvent?: boolean): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
178
|
+
focus(element: HTMLElement | string | Window, handler?: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmitEvent?: boolean): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
179
|
+
onHover(element: import("./types/PopsDOMUtilsEventType").PopsDOMUtilsTargetElementType | Element | DocumentFragment | Node, handler: (this: HTMLElement, event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["hover"]) => void, option?: boolean | import("./types/PopsDOMUtilsEventType").PopsDOMUtilsEventListenerOption): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
180
|
+
onKeyup(target: HTMLElement | string | Window | typeof globalThis, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keyup"]) => void, option?: boolean | AddEventListenerOptions): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
181
|
+
onKeydown(target: HTMLElement | Window | typeof globalThis | string, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keydown"]) => void, option?: boolean | AddEventListenerOptions): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
182
|
+
onKeypress(target: HTMLElement | Window | typeof globalThis | string, handler: (event: import("./types/PopsDOMUtilsEventType").PopsDOMUtils_Event["keypress"]) => void, option?: boolean | AddEventListenerOptions): import("./types/PopsDOMUtilsEventType").PopsDOMUtilsAddEventListenerResult | undefined;
|
|
183
|
+
preventEvent(event: Event): false;
|
|
184
|
+
preventEvent<T extends boolean>(event: Event, onlyStopPropagation: T): T extends true ? void : false;
|
|
185
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], option?: {
|
|
186
|
+
capture?: boolean;
|
|
187
|
+
onlyStopPropagation?: boolean;
|
|
188
|
+
}): {
|
|
189
|
+
off(): void;
|
|
190
|
+
};
|
|
191
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], selector: string | string[] | null | undefined, option?: {
|
|
192
|
+
capture?: boolean;
|
|
193
|
+
onlyStopPropagation?: boolean;
|
|
194
|
+
}): {
|
|
195
|
+
off(): void;
|
|
196
|
+
};
|
|
183
197
|
selector<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | undefined;
|
|
184
198
|
selector<E extends Element = Element>(selector: string): E | undefined;
|
|
185
199
|
selectorAll<K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K][];
|
|
@@ -211,7 +211,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
211
211
|
* console.log("触发click事件成功")
|
|
212
212
|
* })
|
|
213
213
|
* */
|
|
214
|
-
click(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["click"]) => void, details?: any, useDispatchToEmitEvent?: boolean):
|
|
214
|
+
click(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["click"]) => void, details?: any, useDispatchToEmitEvent?: boolean): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
215
215
|
/**
|
|
216
216
|
* 绑定或触发元素的blur事件
|
|
217
217
|
* @param element 目标元素
|
|
@@ -226,7 +226,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
226
226
|
* console.log("触发blur事件成功")
|
|
227
227
|
* })
|
|
228
228
|
* */
|
|
229
|
-
blur(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmitEvent?: boolean):
|
|
229
|
+
blur(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmitEvent?: boolean): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
230
230
|
/**
|
|
231
231
|
* 绑定或触发元素的focus事件
|
|
232
232
|
* @param element 目标元素
|
|
@@ -241,7 +241,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
241
241
|
* console.log("触发focus事件成功")
|
|
242
242
|
* })
|
|
243
243
|
* */
|
|
244
|
-
focus(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmitEvent?: boolean):
|
|
244
|
+
focus(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmitEvent?: boolean): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
245
245
|
/**
|
|
246
246
|
* 当鼠标移入或移出元素时触发事件
|
|
247
247
|
* @param element 当前元素
|
|
@@ -256,7 +256,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
256
256
|
* console.log("移入/移除");
|
|
257
257
|
* })
|
|
258
258
|
*/
|
|
259
|
-
onHover(element:
|
|
259
|
+
onHover(element: PopsDOMUtilsTargetElementType | Element | DocumentFragment | Node, handler: (this: HTMLElement, event: PopsDOMUtils_Event["hover"]) => void, option?: boolean | PopsDOMUtilsEventListenerOption): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
260
260
|
/**
|
|
261
261
|
* 当按键松开时触发事件
|
|
262
262
|
* keydown - > keypress - > keyup
|
|
@@ -272,7 +272,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
272
272
|
* console.log("按键松开");
|
|
273
273
|
* })
|
|
274
274
|
*/
|
|
275
|
-
onKeyup(target: HTMLElement | string | Window | typeof globalThis, handler: (event: PopsDOMUtils_Event["keyup"]) => void, option?: boolean | AddEventListenerOptions):
|
|
275
|
+
onKeyup(target: HTMLElement | string | Window | typeof globalThis, handler: (event: PopsDOMUtils_Event["keyup"]) => void, option?: boolean | AddEventListenerOptions): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
276
276
|
/**
|
|
277
277
|
* 当按键按下时触发事件
|
|
278
278
|
* keydown - > keypress - > keyup
|
|
@@ -288,7 +288,7 @@ declare class PopsDOMUtilsEvent {
|
|
|
288
288
|
* console.log("按键按下");
|
|
289
289
|
* })
|
|
290
290
|
*/
|
|
291
|
-
onKeydown(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keydown"]) => void, option?: boolean | AddEventListenerOptions):
|
|
291
|
+
onKeydown(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keydown"]) => void, option?: boolean | AddEventListenerOptions): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
292
292
|
/**
|
|
293
293
|
* 当按键按下时触发事件
|
|
294
294
|
* keydown - > keypress - > keyup
|
|
@@ -304,29 +304,79 @@ declare class PopsDOMUtilsEvent {
|
|
|
304
304
|
* console.log("按键按下");
|
|
305
305
|
* })
|
|
306
306
|
*/
|
|
307
|
-
onKeypress(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keypress"]) => void, option?: boolean | AddEventListenerOptions):
|
|
307
|
+
onKeypress(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keypress"]) => void, option?: boolean | AddEventListenerOptions): PopsDOMUtilsAddEventListenerResult | undefined;
|
|
308
308
|
/**
|
|
309
309
|
* 阻止事件传递
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
310
|
+
*
|
|
311
|
+
* + `.preventDefault()`: 阻止事件的默认行为发生。例如,当点击一个链接时,浏览器会默认打开链接的URL,或者在输入框内输入文字
|
|
312
|
+
* + `.stopPropagation()`: 停止事件的传播,阻止它继续向更上层的元素冒泡,事件将不会再传播给其他的元素
|
|
313
|
+
* + `.stopImmediatePropagation()`: 阻止事件传播,并且还能阻止元素上的其他事件处理程序被触发
|
|
314
|
+
* @param event 要阻止传递的事件
|
|
315
315
|
* @example
|
|
316
|
-
*
|
|
316
|
+
* DOMUtils.preventEvent(event);
|
|
317
317
|
*/
|
|
318
|
-
preventEvent(event: Event):
|
|
318
|
+
preventEvent(event: Event): false;
|
|
319
319
|
/**
|
|
320
320
|
* 阻止事件传递
|
|
321
|
-
* @param
|
|
322
|
-
* @param
|
|
323
|
-
* @
|
|
321
|
+
* @param event 要阻止传递的事件
|
|
322
|
+
* @param onlyStopPropagation (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()`
|
|
323
|
+
* @example
|
|
324
|
+
* DOMUtils.preventEvent(event, true);
|
|
325
|
+
*/
|
|
326
|
+
preventEvent<T extends boolean>(event: Event, onlyStopPropagation: T): T extends true ? void : false;
|
|
327
|
+
/**
|
|
328
|
+
* 通过监听事件来主动阻止事件的传递
|
|
329
|
+
* @param $el 要进行处理的元素
|
|
330
|
+
* @param eventNameList 要阻止的事件名|列表
|
|
331
|
+
* @param option (可选)配置项
|
|
332
|
+
* @example
|
|
333
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click")
|
|
334
|
+
* @example
|
|
335
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click", undefined, {
|
|
336
|
+
* capture: true,
|
|
337
|
+
* })
|
|
338
|
+
* @example
|
|
339
|
+
* DOMUtils.preventEvent(document, "click", "a.xxx", {
|
|
340
|
+
* capture: true,
|
|
341
|
+
* onlyStopPropagation: true,
|
|
342
|
+
* })
|
|
343
|
+
*/
|
|
344
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], option?: {
|
|
345
|
+
/** (可选)是否捕获,默认false */
|
|
346
|
+
capture?: boolean;
|
|
347
|
+
/** (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()` */
|
|
348
|
+
onlyStopPropagation?: boolean;
|
|
349
|
+
}): {
|
|
350
|
+
/** 移除监听事件 */
|
|
351
|
+
off(): void;
|
|
352
|
+
};
|
|
353
|
+
/**
|
|
354
|
+
* 通过监听事件来主动阻止事件的传递
|
|
355
|
+
* @param $el 要进行处理的元素
|
|
356
|
+
* @param eventNameList 要阻止的事件名|列表
|
|
357
|
+
* @param selector 子元素选择器
|
|
358
|
+
* @param option (可选)配置项
|
|
324
359
|
* @example
|
|
325
|
-
*
|
|
360
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click")
|
|
326
361
|
* @example
|
|
327
|
-
*
|
|
362
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click", undefined, {
|
|
363
|
+
* capture: true,
|
|
364
|
+
* })
|
|
365
|
+
* @example
|
|
366
|
+
* DOMUtils.preventEvent(document, "click", "a.xxx", {
|
|
367
|
+
* capture: true,
|
|
368
|
+
* onlyStopPropagation: true,
|
|
369
|
+
* })
|
|
328
370
|
*/
|
|
329
|
-
preventEvent(
|
|
371
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], selector: string | string[] | null | undefined, option?: {
|
|
372
|
+
/** (可选)是否捕获,默认false */
|
|
373
|
+
capture?: boolean;
|
|
374
|
+
/** (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()` */
|
|
375
|
+
onlyStopPropagation?: boolean;
|
|
376
|
+
}): {
|
|
377
|
+
/** 移除监听事件 */
|
|
378
|
+
off(): void;
|
|
379
|
+
};
|
|
330
380
|
/**
|
|
331
381
|
* 选择器,可使用以下的额外语法
|
|
332
382
|
*
|
|
@@ -662,7 +712,7 @@ declare class PopsDOMUtils extends PopsDOMUtilsEvent {
|
|
|
662
712
|
* @param content 子元素或HTML字符串
|
|
663
713
|
* @example
|
|
664
714
|
* // 元素a.xx的内部末尾添加一个元素
|
|
665
|
-
* DOMUtils.append(document.querySelector("a.xx"),document.querySelector("b.xx"))
|
|
715
|
+
* DOMUtils.append(document.querySelector("a.xx"), document.querySelector("b.xx"))
|
|
666
716
|
* DOMUtils.append("a.xx","'<b class="xx"></b>")
|
|
667
717
|
* */
|
|
668
718
|
append(element: Element | Node | ShadowRoot | HTMLElement | string, content: HTMLElement | string | (HTMLElement | string | Element)[] | NodeList): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AnyTouch from "any-touch";
|
|
2
|
+
import doubletap from "@any-touch/doubletap";
|
|
2
3
|
declare class PopsUtils {
|
|
3
4
|
/**
|
|
4
5
|
* 判断是否是window,例如window、self、globalThis
|
|
@@ -16,6 +17,11 @@ declare class PopsUtils {
|
|
|
16
17
|
* > true
|
|
17
18
|
*/
|
|
18
19
|
isDOM(target: any): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 判断是否是元素列表
|
|
22
|
+
* @param $ele
|
|
23
|
+
*/
|
|
24
|
+
isNodeList($ele: any): $ele is any[] | NodeList;
|
|
19
25
|
/**
|
|
20
26
|
* 删除对象上的属性
|
|
21
27
|
* @param target
|
|
@@ -112,7 +118,14 @@ declare class PopsUtils {
|
|
|
112
118
|
* > 793.27
|
|
113
119
|
**/
|
|
114
120
|
formatByteToSize<T extends boolean>(byteSize: number | string, addType?: T): T extends true ? string : number;
|
|
121
|
+
/**
|
|
122
|
+
* https://github.com/any86/any-touch/blob/master/README.CN.md
|
|
123
|
+
*/
|
|
115
124
|
AnyTouch: () => typeof AnyTouch;
|
|
125
|
+
/**
|
|
126
|
+
* `any-touch`的`doubletap`事件插件
|
|
127
|
+
*/
|
|
128
|
+
AnyTouchDoubleTapPlugin: () => typeof doubletap;
|
|
116
129
|
/**
|
|
117
130
|
* 通过navigator.userAgent判断是否是手机访问
|
|
118
131
|
* @param userAgent
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whitesev/pops",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "弹窗库,包含了alert、confirm、prompt、drawer、folder、loading、iframe、panel、tooltip、searchSuggestion、rightClickMenu组件",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ScriptCat",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"registry": "https://registry.npmjs.org/"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
+
"@any-touch/doubletap": "^2.2.0",
|
|
43
44
|
"any-touch": "^2.2.0"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { PopsCore } from "../../PopsCore";
|
|
2
1
|
import { GlobalConfig } from "../../config/GlobalConfig";
|
|
3
2
|
import { PopsElementHandler } from "../../handler/PopsElementHandler";
|
|
4
3
|
import { PopsHandler } from "../../handler/PopsHandler";
|
|
5
4
|
import { PopsCSS } from "../../PopsCSS";
|
|
6
5
|
import { PopsInstData } from "../../PopsInst";
|
|
6
|
+
import type { PopsType } from "../../types/main";
|
|
7
7
|
import { popsDOMUtils } from "../../utils/PopsDOMUtils";
|
|
8
8
|
import { PopsInstanceUtils } from "../../utils/PopsInstanceUtils";
|
|
9
9
|
import { popsUtils } from "../../utils/PopsUtils";
|
|
10
10
|
import { PopsIframeDefaultConfig } from "./defaultConfig";
|
|
11
11
|
import type { PopsIframeClickEventConfig, PopsIframeConfig } from "./types";
|
|
12
|
-
import type { PopsType } from "../../types/main";
|
|
13
12
|
|
|
14
13
|
export const PopsIframe = {
|
|
15
14
|
init(__config__: PopsIframeConfig) {
|
|
@@ -102,7 +101,7 @@ export const PopsIframe = {
|
|
|
102
101
|
$headerBtnMax: headerMaxBtnElement,
|
|
103
102
|
$headerBtnMise: headerMiseBtnElement,
|
|
104
103
|
} = PopsHandler.handleQueryElement($anim, popsType);
|
|
105
|
-
let $iframeContainer =
|
|
104
|
+
let $iframeContainer = popsDOMUtils.selector<HTMLDivElement>(".pops-iframe-container");
|
|
106
105
|
if (!$iframeContainer) {
|
|
107
106
|
$iframeContainer = popsDOMUtils.createElement("div", {
|
|
108
107
|
className: "pops-iframe-container",
|
|
@@ -171,14 +171,14 @@ export const PopsHandler = {
|
|
|
171
171
|
);
|
|
172
172
|
}
|
|
173
173
|
// 判断按下的元素是否是pops-anim
|
|
174
|
-
popsDOMUtils.on(config.animElement,
|
|
174
|
+
popsDOMUtils.on(config.animElement, "pointerup", (event) => {
|
|
175
175
|
const $click = event.composedPath()[0] as HTMLElement;
|
|
176
176
|
isMaskClick = isAnimElement($click);
|
|
177
177
|
});
|
|
178
178
|
// 如果有动画层,在动画层上监听点击事件
|
|
179
179
|
popsDOMUtils.on<MouseEvent | PointerEvent>(config.animElement, "click", (event) => {
|
|
180
180
|
const $click = event.composedPath()[0] as HTMLElement;
|
|
181
|
-
if (isAnimElement($click)
|
|
181
|
+
if (isMaskClick && isAnimElement($click)) {
|
|
182
182
|
return clickEvent(event);
|
|
183
183
|
}
|
|
184
184
|
});
|