@whitesev/domutils 1.9.2 → 1.9.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/README.md +58 -58
- package/dist/index.amd.js +40 -22
- 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 +40 -22
- 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 +40 -22
- 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 +40 -22
- 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 +40 -22
- 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 +40 -22
- 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/types/DOMUtilsCSSProperty.d.ts +36 -36
- package/dist/types/src/types/DOMUtilsEvent.d.ts +420 -420
- package/dist/types/src/types/WindowApi.d.ts +14 -14
- package/dist/types/src/types/env.d.ts +10 -10
- package/dist/types/src/types/global.d.ts +1 -1
- package/dist/types/src/types/gm.d.ts +2 -2
- package/index.ts +3 -3
- package/package.json +21 -22
- package/src/CommonUtils.ts +163 -163
- package/src/ElementAnimate.ts +290 -290
- package/src/ElementEvent.ts +1569 -1569
- package/src/ElementHandler.ts +43 -43
- package/src/ElementSelector.ts +307 -289
- package/src/ElementWait.ts +742 -742
- package/src/GlobalData.ts +5 -5
- package/src/OriginPrototype.ts +5 -5
- package/src/Utils.ts +388 -388
- package/src/WindowApi.ts +59 -59
- package/src/index.ts +2052 -2052
- package/src/types/DOMUtilsCSSProperty.d.ts +36 -36
- package/src/types/DOMUtilsEvent.d.ts +420 -420
- package/src/types/WindowApi.d.ts +14 -14
- package/src/types/env.d.ts +10 -10
- package/src/types/global.d.ts +1 -1
- package/src/types/gm.d.ts +2 -2
|
@@ -1,420 +1,420 @@
|
|
|
1
|
-
export type DOMUtilsEventObject<T extends Node> = Event & {
|
|
2
|
-
target: T;
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
export type DOMUtilsCreateElementAttributesMap = {
|
|
6
|
-
style?: string;
|
|
7
|
-
id?: string;
|
|
8
|
-
class?: string;
|
|
9
|
-
"data-"?: string;
|
|
10
|
-
type?: string;
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* 鼠标事件
|
|
15
|
-
* + https://blog.csdn.net/weixin_68658847/article/details/126939879
|
|
16
|
-
*/
|
|
17
|
-
export interface DOMUtils_MouseEvent {
|
|
18
|
-
/** 鼠标点击事件 */
|
|
19
|
-
click: MouseEvent | PointerEvent;
|
|
20
|
-
/** 鼠标中键点击事件 */
|
|
21
|
-
auxclick: PointerEvent;
|
|
22
|
-
/** 右键菜单事件 */
|
|
23
|
-
contextmenu: MouseEvent | PointerEvent;
|
|
24
|
-
/** 鼠标双击事件 */
|
|
25
|
-
dblclick: MouseEvent | PointerEvent;
|
|
26
|
-
/** 鼠标按下事件 */
|
|
27
|
-
mousedown: MouseEvent | PointerEvent;
|
|
28
|
-
/** 鼠标进入元素事件 */
|
|
29
|
-
mouseenter: MouseEvent | PointerEvent;
|
|
30
|
-
/** 鼠标离开元素事件 */
|
|
31
|
-
mouseleave: MouseEvent | PointerEvent;
|
|
32
|
-
/** 鼠标移动事件 */
|
|
33
|
-
mousemove: MouseEvent | PointerEvent;
|
|
34
|
-
/** 鼠标悬停在元素上事件 */
|
|
35
|
-
mouseover: MouseEvent | PointerEvent;
|
|
36
|
-
/** 鼠标从元素上移出事件 */
|
|
37
|
-
mouseout: MouseEvent | PointerEvent;
|
|
38
|
-
/** 鼠标按键释放事件 */
|
|
39
|
-
mouseup: MouseEvent | PointerEvent;
|
|
40
|
-
/** 鼠标悬停事件 */
|
|
41
|
-
hover: MouseEvent;
|
|
42
|
-
}
|
|
43
|
-
export type DOMUtils_MouseEventType = keyof DOMUtils_MouseEvent;
|
|
44
|
-
/**
|
|
45
|
-
* 键盘事件
|
|
46
|
-
*/
|
|
47
|
-
export interface DOMUtils_KeyboardEvent {
|
|
48
|
-
/** 键盘按下事件 */
|
|
49
|
-
keydown: KeyboardEvent;
|
|
50
|
-
/** 键盘按压事件(字符键) */
|
|
51
|
-
keypress: KeyboardEvent;
|
|
52
|
-
/** 键盘释放事件 */
|
|
53
|
-
keyup: KeyboardEvent;
|
|
54
|
-
}
|
|
55
|
-
export type DOMUtils_KeyboardEventType = keyof DOMUtils_KeyboardEvent;
|
|
56
|
-
/**
|
|
57
|
-
* 指针事件
|
|
58
|
-
*/
|
|
59
|
-
export interface DOMUtils_PointerEvent {
|
|
60
|
-
/**
|
|
61
|
-
* 当定点设备进入某个元素的命中检测 范围时触发。
|
|
62
|
-
*/
|
|
63
|
-
pointerover: PointerEvent;
|
|
64
|
-
/**
|
|
65
|
-
* 当定点设备进入某个元素或其子元素的命中检测范围时,或做为某一类不支悬停(hover)状态的设备所触发的 poinerdown 事件的后续事件时所触发。(详情可见 pointerdown 事件类型)。
|
|
66
|
-
*/
|
|
67
|
-
pointerenter: PointerEvent;
|
|
68
|
-
/**
|
|
69
|
-
* 当某指针得以激活时触发。
|
|
70
|
-
*/
|
|
71
|
-
pointerdown: PointerEvent;
|
|
72
|
-
/**
|
|
73
|
-
* 当某指针改变其坐标时触发。
|
|
74
|
-
*/
|
|
75
|
-
pointermove: PointerEvent;
|
|
76
|
-
/**
|
|
77
|
-
* 当某指针不再活跃时触发。
|
|
78
|
-
*/
|
|
79
|
-
pointerup: PointerEvent;
|
|
80
|
-
/**
|
|
81
|
-
* 当浏览器认为某指针不会再生成新的后续事件时触发(例如某设备不再活跃)
|
|
82
|
-
*/
|
|
83
|
-
pointercancel: PointerEvent;
|
|
84
|
-
/**
|
|
85
|
-
* 可能由若干原因触发该事件,包括:定位设备移出了某命中检测的边界;不支持悬浮状态的设备发生 pointerup 事件(见 pointerup 事件);作为 pointercancel 事件的后续事件(见 pointercancel 事件);当数位板检测到数位笔离开了悬浮区域时。
|
|
86
|
-
*/
|
|
87
|
-
pointerout: PointerEvent;
|
|
88
|
-
/**
|
|
89
|
-
* 当定点设备移出某元素的命中检测边界时触发。对于笔形设备来说,当数位板检测到笔移出了悬浮范围时触发。
|
|
90
|
-
*/
|
|
91
|
-
pointerleave: PointerEvent;
|
|
92
|
-
/**
|
|
93
|
-
* 当某元素接受到一个指针捕捉时触发。
|
|
94
|
-
*/
|
|
95
|
-
gotpointercapture: PointerEvent;
|
|
96
|
-
/**
|
|
97
|
-
* 当针对某个指针的指针捕捉得到释放时触发。
|
|
98
|
-
*/
|
|
99
|
-
lostpointercapture: PointerEvent;
|
|
100
|
-
}
|
|
101
|
-
export type DOMUtils_PointerEventType = keyof DOMUtils_PointerEvent;
|
|
102
|
-
/**
|
|
103
|
-
* 框架/对象事件
|
|
104
|
-
*/
|
|
105
|
-
export interface DOMUtils_Frame_Object_Event {
|
|
106
|
-
/** 资源加载被中止事件 */
|
|
107
|
-
abort: Event;
|
|
108
|
-
/** 页面即将卸载前事件 */
|
|
109
|
-
beforeunload: Event;
|
|
110
|
-
/** JavaScript错误事件 */
|
|
111
|
-
error: Event;
|
|
112
|
-
/** URL哈希值改变事件 */
|
|
113
|
-
hashchange: Event;
|
|
114
|
-
/** 页面加载完成事件 */
|
|
115
|
-
load: Event;
|
|
116
|
-
/** 页面显示事件(包括缓存页面) */
|
|
117
|
-
pageshow: Event;
|
|
118
|
-
/** 页面隐藏事件 */
|
|
119
|
-
pagehide: Event;
|
|
120
|
-
/** 窗口大小调整事件 */
|
|
121
|
-
resize: Event;
|
|
122
|
-
/** 滚动事件 */
|
|
123
|
-
scroll: Event;
|
|
124
|
-
/** 页面卸载事件 */
|
|
125
|
-
unload: Event;
|
|
126
|
-
}
|
|
127
|
-
export type DOMUtils_Frame_Object_EventType = keyof DOMUtils_Frame_Object_Event;
|
|
128
|
-
/**
|
|
129
|
-
* 表单事件
|
|
130
|
-
*/
|
|
131
|
-
export interface DOMUtils_FormEvent {
|
|
132
|
-
/** 元素失去焦点事件 */
|
|
133
|
-
blur: Event;
|
|
134
|
-
/** 表单控件值改变事件 */
|
|
135
|
-
change: Event;
|
|
136
|
-
/** 元素获得焦点事件 */
|
|
137
|
-
focus: Event;
|
|
138
|
-
/** 元素将要获得焦点事件(不冒泡) */
|
|
139
|
-
focusin: Event;
|
|
140
|
-
/** 元素将要失去焦点事件(不冒泡) */
|
|
141
|
-
focusout: Event;
|
|
142
|
-
/** 输入框内容改变事件 */
|
|
143
|
-
input: Event;
|
|
144
|
-
/** 表单重置事件 */
|
|
145
|
-
reset: Event;
|
|
146
|
-
/** 搜索框搜索事件 */
|
|
147
|
-
search: Event;
|
|
148
|
-
}
|
|
149
|
-
export type DOMUtils_FormEventType = keyof DOMUtils_FormEvent;
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* 剪贴板事件
|
|
153
|
-
*/
|
|
154
|
-
export interface DOMUtils_ClipboardEvent {
|
|
155
|
-
/** 复制事件 */
|
|
156
|
-
copy: ClipboardEvent;
|
|
157
|
-
/** 剪切事件 */
|
|
158
|
-
cut: ClipboardEvent;
|
|
159
|
-
/** 粘贴事件 */
|
|
160
|
-
paste: ClipboardEvent;
|
|
161
|
-
}
|
|
162
|
-
export type DOMUtils_ClipboardEventType = keyof DOMUtils_ClipboardEvent;
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* 打印事件
|
|
166
|
-
*/
|
|
167
|
-
export interface DOMUtils_PrintEvent {
|
|
168
|
-
/** 打印之后事件 */
|
|
169
|
-
afterprint: Event;
|
|
170
|
-
/** 打印之前事件 */
|
|
171
|
-
beforeprint: Event;
|
|
172
|
-
}
|
|
173
|
-
export type DOMUtils_PrintEventType = keyof DOMUtils_PrintEvent;
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* 拖动事件
|
|
177
|
-
*/
|
|
178
|
-
export interface DOMUtils_DragEvent {
|
|
179
|
-
/** 拖动元素时触发事件 */
|
|
180
|
-
drag: DragEvent;
|
|
181
|
-
/** 拖动结束事件 */
|
|
182
|
-
dragend: DragEvent;
|
|
183
|
-
/** 拖动进入有效放置目标事件 */
|
|
184
|
-
dragenter: DragEvent;
|
|
185
|
-
/** 拖动离开有效放置目标事件 */
|
|
186
|
-
dragleave: DragEvent;
|
|
187
|
-
/** 拖动在有效放置目标上移动事件 */
|
|
188
|
-
dragover: DragEvent;
|
|
189
|
-
/** 开始拖动元素事件 */
|
|
190
|
-
dragstart: DragEvent;
|
|
191
|
-
/** 拖动元素被放置事件 */
|
|
192
|
-
drop: DragEvent;
|
|
193
|
-
}
|
|
194
|
-
export type DOMUtils_DragEventType = keyof DOMUtils_DragEvent;
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* 多媒体(Media)事件
|
|
198
|
-
*/
|
|
199
|
-
export interface DOMUtils_MediaEvent {
|
|
200
|
-
/** 音频/视频加载过程中被中断事件 */
|
|
201
|
-
abort: Event;
|
|
202
|
-
/** 可以开始播放时触发事件 */
|
|
203
|
-
canplay: Event;
|
|
204
|
-
/** 可以流畅播放到结尾时触发事件 */
|
|
205
|
-
canplaythrough: Event;
|
|
206
|
-
/** 媒体时长发生变化事件 */
|
|
207
|
-
durationchange: Event;
|
|
208
|
-
/** 媒体资源变为空时触发事件 */
|
|
209
|
-
emptied: Event;
|
|
210
|
-
/** 媒体播放完毕事件 */
|
|
211
|
-
ended: Event;
|
|
212
|
-
/** 加载媒体时发生错误事件 */
|
|
213
|
-
error: Event;
|
|
214
|
-
/** 媒体第一帧加载完成事件 */
|
|
215
|
-
loadeddata: Event;
|
|
216
|
-
/** 媒体元数据加载完成事件 */
|
|
217
|
-
loadedmetadata: Event;
|
|
218
|
-
/** 开始寻找媒体文件时触发事件 */
|
|
219
|
-
loadstart: Event;
|
|
220
|
-
/** 媒体暂停事件 */
|
|
221
|
-
pause: Event;
|
|
222
|
-
/** 媒体开始播放事件 */
|
|
223
|
-
play: Event;
|
|
224
|
-
/** 媒体实际开始播放事件 */
|
|
225
|
-
playing: Event;
|
|
226
|
-
/** 浏览器正在获取媒体数据事件 */
|
|
227
|
-
progress: Event;
|
|
228
|
-
/** 播放速度改变事件 */
|
|
229
|
-
ratechange: Event;
|
|
230
|
-
/** 完成跳转到新位置事件 */
|
|
231
|
-
seeked: Event;
|
|
232
|
-
/** 正在跳转到新位置事件 */
|
|
233
|
-
seeking: Event;
|
|
234
|
-
/** 获取媒体数据异常缓慢事件 */
|
|
235
|
-
stalled: Event;
|
|
236
|
-
/** 浏览器故意停止下载媒体事件 */
|
|
237
|
-
suspend: Event;
|
|
238
|
-
/** 播放位置改变事件 */
|
|
239
|
-
timeupdate: Event;
|
|
240
|
-
/** 音量改变事件 */
|
|
241
|
-
volumechange: Event;
|
|
242
|
-
/** 等待数据时触发事件 */
|
|
243
|
-
waiting: Event;
|
|
244
|
-
}
|
|
245
|
-
export type DOMUtils_MediaEventType = keyof DOMUtils_MediaEvent;
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* 动画事件
|
|
249
|
-
*/
|
|
250
|
-
export interface DOMUtils_AnimationEvent {
|
|
251
|
-
/** CSS动画结束事件 */
|
|
252
|
-
animationend: AnimationEvent;
|
|
253
|
-
/** CSS动画重复播放事件 */
|
|
254
|
-
animationiteration: AnimationEvent;
|
|
255
|
-
/** CSS动画开始事件 */
|
|
256
|
-
animationstart: AnimationEvent;
|
|
257
|
-
}
|
|
258
|
-
export type DOMUtils_AnimationEventType = keyof DOMUtils_AnimationEvent;
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* 过渡事件
|
|
262
|
-
*/
|
|
263
|
-
export interface DOMUtils_TransitionEvent {
|
|
264
|
-
transitionend: TransitionEvent;
|
|
265
|
-
}
|
|
266
|
-
export type DOMUtils_TransitionEventType = keyof DOMUtils_TransitionEvent;
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* 触摸事件
|
|
270
|
-
*/
|
|
271
|
-
export interface DOMUtils_TouchEvent {
|
|
272
|
-
/** 触摸开始事件 */
|
|
273
|
-
touchstart: TouchEvent;
|
|
274
|
-
/** 触摸移动事件 */
|
|
275
|
-
touchmove: TouchEvent;
|
|
276
|
-
/** 触摸结束事件 */
|
|
277
|
-
touchend: TouchEvent;
|
|
278
|
-
/** 触摸被中断事件 */
|
|
279
|
-
touchcancel: TouchEvent;
|
|
280
|
-
/** 触摸进入元素事件 */
|
|
281
|
-
touchenter: TouchEvent;
|
|
282
|
-
/** 触摸离开元素事件 */
|
|
283
|
-
touchleave: TouchEvent;
|
|
284
|
-
}
|
|
285
|
-
export type DOMUtils_TouchEventType = keyof DOMUtils_TouchEvent;
|
|
286
|
-
/**
|
|
287
|
-
* 其它事件
|
|
288
|
-
*/
|
|
289
|
-
export interface DOMUtils_OtherEvent {
|
|
290
|
-
/** 接收到消息事件 */
|
|
291
|
-
message: Event;
|
|
292
|
-
/** 浏览器上线事件 */
|
|
293
|
-
online: Event;
|
|
294
|
-
/** 浏览器离线事件 */
|
|
295
|
-
offline: Event;
|
|
296
|
-
/** 浏览器历史记录改变事件 */
|
|
297
|
-
popstate: Event;
|
|
298
|
-
/** 上下文菜单显示事件 */
|
|
299
|
-
show: Event;
|
|
300
|
-
/** Web Storage变化事件 */
|
|
301
|
-
storage: Event;
|
|
302
|
-
/** details元素打开/关闭事件 */
|
|
303
|
-
toggle: Event;
|
|
304
|
-
/** 鼠标滚轮滚动事件 */
|
|
305
|
-
wheel: Event;
|
|
306
|
-
/** IE特有属性改变事件 */
|
|
307
|
-
propertychange: Event;
|
|
308
|
-
/** 全屏状态改变事件 */
|
|
309
|
-
fullscreenchange: Event;
|
|
310
|
-
/** DOM内容加载完成事件 */
|
|
311
|
-
DOMContentLoaded: Event;
|
|
312
|
-
}
|
|
313
|
-
export type DOMUtils_OtherEventType = keyof DOMUtils_OtherEvent;
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* 全部事件
|
|
317
|
-
*/
|
|
318
|
-
export declare type DOMUtils_Event = DOMUtils_MouseEvent &
|
|
319
|
-
DOMUtils_KeyboardEvent &
|
|
320
|
-
DOMUtils_PointerEvent &
|
|
321
|
-
DOMUtils_Frame_Object_Event &
|
|
322
|
-
DOMUtils_FormEvent &
|
|
323
|
-
DOMUtils_ClipboardEvent &
|
|
324
|
-
DOMUtils_PrintEvent &
|
|
325
|
-
DOMUtils_DragEvent &
|
|
326
|
-
DOMUtils_MediaEvent &
|
|
327
|
-
DOMUtils_AnimationEvent &
|
|
328
|
-
DOMUtils_TransitionEvent &
|
|
329
|
-
DOMUtils_TouchEvent &
|
|
330
|
-
DOMUtils_OtherEvent;
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* 事件类型
|
|
334
|
-
*/
|
|
335
|
-
export declare type DOMUtils_EventType = keyof DOMUtils_Event;
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* 元素上的events属性
|
|
339
|
-
*/
|
|
340
|
-
export declare interface DOMUtilsEventListenerOptionsAttribute {
|
|
341
|
-
/**
|
|
342
|
-
* DOMUtils的handlerCallBack,元素上的监听事件就是它,移除事件时也需要传入这个函数
|
|
343
|
-
*/
|
|
344
|
-
handlerCallBack: (event: Event, $selector?: HTMLElement) => void;
|
|
345
|
-
/**
|
|
346
|
-
* 属性配置
|
|
347
|
-
*/
|
|
348
|
-
option: DOMUtilsEventListenerOption;
|
|
349
|
-
/**
|
|
350
|
-
* 用户添加的事件
|
|
351
|
-
*/
|
|
352
|
-
callback: (event: Event, $selector?: HTMLElement) => void;
|
|
353
|
-
/**
|
|
354
|
-
* 子元素选择器
|
|
355
|
-
*/
|
|
356
|
-
selector?: string[];
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* 事件的额外配置
|
|
361
|
-
*/
|
|
362
|
-
export declare type DOMUtilsEventListenerOption = AddEventListenerOptions & {
|
|
363
|
-
/**
|
|
364
|
-
* 是否使用 event.composedPath() 来代替 event.target
|
|
365
|
-
*
|
|
366
|
-
* 一般用于设置了selector参数
|
|
367
|
-
*/
|
|
368
|
-
isComposedPath?: boolean;
|
|
369
|
-
};
|
|
370
|
-
export declare type DOMUtilsElementEventType =
|
|
371
|
-
| HTMLElement
|
|
372
|
-
| string
|
|
373
|
-
| NodeList
|
|
374
|
-
| (HTMLElement | Window | Document | Element | typeof globalThis)[]
|
|
375
|
-
| Window
|
|
376
|
-
| Document
|
|
377
|
-
| Element
|
|
378
|
-
| null
|
|
379
|
-
| typeof globalThis
|
|
380
|
-
| ShadowRoot
|
|
381
|
-
| EventTarget
|
|
382
|
-
| ChildNode
|
|
383
|
-
| Node
|
|
384
|
-
| DocumentFragment;
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* 通过.on执行后的返回值
|
|
388
|
-
*/
|
|
389
|
-
export declare interface DOMUtilsAddEventListenerResult {
|
|
390
|
-
/**
|
|
391
|
-
* 取消绑定的监听事件
|
|
392
|
-
* @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
|
|
393
|
-
*/
|
|
394
|
-
off(
|
|
395
|
-
filter?: (
|
|
396
|
-
value: DOMUtilsEventListenerOptionsAttribute,
|
|
397
|
-
index: number,
|
|
398
|
-
array: DOMUtilsEventListenerOptionsAttribute[]
|
|
399
|
-
) => boolean
|
|
400
|
-
): void;
|
|
401
|
-
/**
|
|
402
|
-
* 主动触发事件
|
|
403
|
-
* @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
|
|
404
|
-
* @param useDispatchToEmit 是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用callback,但是这种会让使用了selectorTarget的没有值
|
|
405
|
-
*/
|
|
406
|
-
emit(details?: object, useDispatchToEmit?: boolean): void;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* 传递的双击配置信息
|
|
411
|
-
*/
|
|
412
|
-
export declare type DOMUtilsDoubleClickOption = {
|
|
413
|
-
/**
|
|
414
|
-
* 是否是双击
|
|
415
|
-
*
|
|
416
|
-
* + `true`:双击
|
|
417
|
-
* + `false`:单击
|
|
418
|
-
*/
|
|
419
|
-
isDoubleClick: boolean;
|
|
420
|
-
};
|
|
1
|
+
export type DOMUtilsEventObject<T extends Node> = Event & {
|
|
2
|
+
target: T;
|
|
3
|
+
};
|
|
4
|
+
|
|
5
|
+
export type DOMUtilsCreateElementAttributesMap = {
|
|
6
|
+
style?: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
class?: string;
|
|
9
|
+
"data-"?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 鼠标事件
|
|
15
|
+
* + https://blog.csdn.net/weixin_68658847/article/details/126939879
|
|
16
|
+
*/
|
|
17
|
+
export interface DOMUtils_MouseEvent {
|
|
18
|
+
/** 鼠标点击事件 */
|
|
19
|
+
click: MouseEvent | PointerEvent;
|
|
20
|
+
/** 鼠标中键点击事件 */
|
|
21
|
+
auxclick: PointerEvent;
|
|
22
|
+
/** 右键菜单事件 */
|
|
23
|
+
contextmenu: MouseEvent | PointerEvent;
|
|
24
|
+
/** 鼠标双击事件 */
|
|
25
|
+
dblclick: MouseEvent | PointerEvent;
|
|
26
|
+
/** 鼠标按下事件 */
|
|
27
|
+
mousedown: MouseEvent | PointerEvent;
|
|
28
|
+
/** 鼠标进入元素事件 */
|
|
29
|
+
mouseenter: MouseEvent | PointerEvent;
|
|
30
|
+
/** 鼠标离开元素事件 */
|
|
31
|
+
mouseleave: MouseEvent | PointerEvent;
|
|
32
|
+
/** 鼠标移动事件 */
|
|
33
|
+
mousemove: MouseEvent | PointerEvent;
|
|
34
|
+
/** 鼠标悬停在元素上事件 */
|
|
35
|
+
mouseover: MouseEvent | PointerEvent;
|
|
36
|
+
/** 鼠标从元素上移出事件 */
|
|
37
|
+
mouseout: MouseEvent | PointerEvent;
|
|
38
|
+
/** 鼠标按键释放事件 */
|
|
39
|
+
mouseup: MouseEvent | PointerEvent;
|
|
40
|
+
/** 鼠标悬停事件 */
|
|
41
|
+
hover: MouseEvent;
|
|
42
|
+
}
|
|
43
|
+
export type DOMUtils_MouseEventType = keyof DOMUtils_MouseEvent;
|
|
44
|
+
/**
|
|
45
|
+
* 键盘事件
|
|
46
|
+
*/
|
|
47
|
+
export interface DOMUtils_KeyboardEvent {
|
|
48
|
+
/** 键盘按下事件 */
|
|
49
|
+
keydown: KeyboardEvent;
|
|
50
|
+
/** 键盘按压事件(字符键) */
|
|
51
|
+
keypress: KeyboardEvent;
|
|
52
|
+
/** 键盘释放事件 */
|
|
53
|
+
keyup: KeyboardEvent;
|
|
54
|
+
}
|
|
55
|
+
export type DOMUtils_KeyboardEventType = keyof DOMUtils_KeyboardEvent;
|
|
56
|
+
/**
|
|
57
|
+
* 指针事件
|
|
58
|
+
*/
|
|
59
|
+
export interface DOMUtils_PointerEvent {
|
|
60
|
+
/**
|
|
61
|
+
* 当定点设备进入某个元素的命中检测 范围时触发。
|
|
62
|
+
*/
|
|
63
|
+
pointerover: PointerEvent;
|
|
64
|
+
/**
|
|
65
|
+
* 当定点设备进入某个元素或其子元素的命中检测范围时,或做为某一类不支悬停(hover)状态的设备所触发的 poinerdown 事件的后续事件时所触发。(详情可见 pointerdown 事件类型)。
|
|
66
|
+
*/
|
|
67
|
+
pointerenter: PointerEvent;
|
|
68
|
+
/**
|
|
69
|
+
* 当某指针得以激活时触发。
|
|
70
|
+
*/
|
|
71
|
+
pointerdown: PointerEvent;
|
|
72
|
+
/**
|
|
73
|
+
* 当某指针改变其坐标时触发。
|
|
74
|
+
*/
|
|
75
|
+
pointermove: PointerEvent;
|
|
76
|
+
/**
|
|
77
|
+
* 当某指针不再活跃时触发。
|
|
78
|
+
*/
|
|
79
|
+
pointerup: PointerEvent;
|
|
80
|
+
/**
|
|
81
|
+
* 当浏览器认为某指针不会再生成新的后续事件时触发(例如某设备不再活跃)
|
|
82
|
+
*/
|
|
83
|
+
pointercancel: PointerEvent;
|
|
84
|
+
/**
|
|
85
|
+
* 可能由若干原因触发该事件,包括:定位设备移出了某命中检测的边界;不支持悬浮状态的设备发生 pointerup 事件(见 pointerup 事件);作为 pointercancel 事件的后续事件(见 pointercancel 事件);当数位板检测到数位笔离开了悬浮区域时。
|
|
86
|
+
*/
|
|
87
|
+
pointerout: PointerEvent;
|
|
88
|
+
/**
|
|
89
|
+
* 当定点设备移出某元素的命中检测边界时触发。对于笔形设备来说,当数位板检测到笔移出了悬浮范围时触发。
|
|
90
|
+
*/
|
|
91
|
+
pointerleave: PointerEvent;
|
|
92
|
+
/**
|
|
93
|
+
* 当某元素接受到一个指针捕捉时触发。
|
|
94
|
+
*/
|
|
95
|
+
gotpointercapture: PointerEvent;
|
|
96
|
+
/**
|
|
97
|
+
* 当针对某个指针的指针捕捉得到释放时触发。
|
|
98
|
+
*/
|
|
99
|
+
lostpointercapture: PointerEvent;
|
|
100
|
+
}
|
|
101
|
+
export type DOMUtils_PointerEventType = keyof DOMUtils_PointerEvent;
|
|
102
|
+
/**
|
|
103
|
+
* 框架/对象事件
|
|
104
|
+
*/
|
|
105
|
+
export interface DOMUtils_Frame_Object_Event {
|
|
106
|
+
/** 资源加载被中止事件 */
|
|
107
|
+
abort: Event;
|
|
108
|
+
/** 页面即将卸载前事件 */
|
|
109
|
+
beforeunload: Event;
|
|
110
|
+
/** JavaScript错误事件 */
|
|
111
|
+
error: Event;
|
|
112
|
+
/** URL哈希值改变事件 */
|
|
113
|
+
hashchange: Event;
|
|
114
|
+
/** 页面加载完成事件 */
|
|
115
|
+
load: Event;
|
|
116
|
+
/** 页面显示事件(包括缓存页面) */
|
|
117
|
+
pageshow: Event;
|
|
118
|
+
/** 页面隐藏事件 */
|
|
119
|
+
pagehide: Event;
|
|
120
|
+
/** 窗口大小调整事件 */
|
|
121
|
+
resize: Event;
|
|
122
|
+
/** 滚动事件 */
|
|
123
|
+
scroll: Event;
|
|
124
|
+
/** 页面卸载事件 */
|
|
125
|
+
unload: Event;
|
|
126
|
+
}
|
|
127
|
+
export type DOMUtils_Frame_Object_EventType = keyof DOMUtils_Frame_Object_Event;
|
|
128
|
+
/**
|
|
129
|
+
* 表单事件
|
|
130
|
+
*/
|
|
131
|
+
export interface DOMUtils_FormEvent {
|
|
132
|
+
/** 元素失去焦点事件 */
|
|
133
|
+
blur: Event;
|
|
134
|
+
/** 表单控件值改变事件 */
|
|
135
|
+
change: Event;
|
|
136
|
+
/** 元素获得焦点事件 */
|
|
137
|
+
focus: Event;
|
|
138
|
+
/** 元素将要获得焦点事件(不冒泡) */
|
|
139
|
+
focusin: Event;
|
|
140
|
+
/** 元素将要失去焦点事件(不冒泡) */
|
|
141
|
+
focusout: Event;
|
|
142
|
+
/** 输入框内容改变事件 */
|
|
143
|
+
input: Event;
|
|
144
|
+
/** 表单重置事件 */
|
|
145
|
+
reset: Event;
|
|
146
|
+
/** 搜索框搜索事件 */
|
|
147
|
+
search: Event;
|
|
148
|
+
}
|
|
149
|
+
export type DOMUtils_FormEventType = keyof DOMUtils_FormEvent;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* 剪贴板事件
|
|
153
|
+
*/
|
|
154
|
+
export interface DOMUtils_ClipboardEvent {
|
|
155
|
+
/** 复制事件 */
|
|
156
|
+
copy: ClipboardEvent;
|
|
157
|
+
/** 剪切事件 */
|
|
158
|
+
cut: ClipboardEvent;
|
|
159
|
+
/** 粘贴事件 */
|
|
160
|
+
paste: ClipboardEvent;
|
|
161
|
+
}
|
|
162
|
+
export type DOMUtils_ClipboardEventType = keyof DOMUtils_ClipboardEvent;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* 打印事件
|
|
166
|
+
*/
|
|
167
|
+
export interface DOMUtils_PrintEvent {
|
|
168
|
+
/** 打印之后事件 */
|
|
169
|
+
afterprint: Event;
|
|
170
|
+
/** 打印之前事件 */
|
|
171
|
+
beforeprint: Event;
|
|
172
|
+
}
|
|
173
|
+
export type DOMUtils_PrintEventType = keyof DOMUtils_PrintEvent;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* 拖动事件
|
|
177
|
+
*/
|
|
178
|
+
export interface DOMUtils_DragEvent {
|
|
179
|
+
/** 拖动元素时触发事件 */
|
|
180
|
+
drag: DragEvent;
|
|
181
|
+
/** 拖动结束事件 */
|
|
182
|
+
dragend: DragEvent;
|
|
183
|
+
/** 拖动进入有效放置目标事件 */
|
|
184
|
+
dragenter: DragEvent;
|
|
185
|
+
/** 拖动离开有效放置目标事件 */
|
|
186
|
+
dragleave: DragEvent;
|
|
187
|
+
/** 拖动在有效放置目标上移动事件 */
|
|
188
|
+
dragover: DragEvent;
|
|
189
|
+
/** 开始拖动元素事件 */
|
|
190
|
+
dragstart: DragEvent;
|
|
191
|
+
/** 拖动元素被放置事件 */
|
|
192
|
+
drop: DragEvent;
|
|
193
|
+
}
|
|
194
|
+
export type DOMUtils_DragEventType = keyof DOMUtils_DragEvent;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* 多媒体(Media)事件
|
|
198
|
+
*/
|
|
199
|
+
export interface DOMUtils_MediaEvent {
|
|
200
|
+
/** 音频/视频加载过程中被中断事件 */
|
|
201
|
+
abort: Event;
|
|
202
|
+
/** 可以开始播放时触发事件 */
|
|
203
|
+
canplay: Event;
|
|
204
|
+
/** 可以流畅播放到结尾时触发事件 */
|
|
205
|
+
canplaythrough: Event;
|
|
206
|
+
/** 媒体时长发生变化事件 */
|
|
207
|
+
durationchange: Event;
|
|
208
|
+
/** 媒体资源变为空时触发事件 */
|
|
209
|
+
emptied: Event;
|
|
210
|
+
/** 媒体播放完毕事件 */
|
|
211
|
+
ended: Event;
|
|
212
|
+
/** 加载媒体时发生错误事件 */
|
|
213
|
+
error: Event;
|
|
214
|
+
/** 媒体第一帧加载完成事件 */
|
|
215
|
+
loadeddata: Event;
|
|
216
|
+
/** 媒体元数据加载完成事件 */
|
|
217
|
+
loadedmetadata: Event;
|
|
218
|
+
/** 开始寻找媒体文件时触发事件 */
|
|
219
|
+
loadstart: Event;
|
|
220
|
+
/** 媒体暂停事件 */
|
|
221
|
+
pause: Event;
|
|
222
|
+
/** 媒体开始播放事件 */
|
|
223
|
+
play: Event;
|
|
224
|
+
/** 媒体实际开始播放事件 */
|
|
225
|
+
playing: Event;
|
|
226
|
+
/** 浏览器正在获取媒体数据事件 */
|
|
227
|
+
progress: Event;
|
|
228
|
+
/** 播放速度改变事件 */
|
|
229
|
+
ratechange: Event;
|
|
230
|
+
/** 完成跳转到新位置事件 */
|
|
231
|
+
seeked: Event;
|
|
232
|
+
/** 正在跳转到新位置事件 */
|
|
233
|
+
seeking: Event;
|
|
234
|
+
/** 获取媒体数据异常缓慢事件 */
|
|
235
|
+
stalled: Event;
|
|
236
|
+
/** 浏览器故意停止下载媒体事件 */
|
|
237
|
+
suspend: Event;
|
|
238
|
+
/** 播放位置改变事件 */
|
|
239
|
+
timeupdate: Event;
|
|
240
|
+
/** 音量改变事件 */
|
|
241
|
+
volumechange: Event;
|
|
242
|
+
/** 等待数据时触发事件 */
|
|
243
|
+
waiting: Event;
|
|
244
|
+
}
|
|
245
|
+
export type DOMUtils_MediaEventType = keyof DOMUtils_MediaEvent;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* 动画事件
|
|
249
|
+
*/
|
|
250
|
+
export interface DOMUtils_AnimationEvent {
|
|
251
|
+
/** CSS动画结束事件 */
|
|
252
|
+
animationend: AnimationEvent;
|
|
253
|
+
/** CSS动画重复播放事件 */
|
|
254
|
+
animationiteration: AnimationEvent;
|
|
255
|
+
/** CSS动画开始事件 */
|
|
256
|
+
animationstart: AnimationEvent;
|
|
257
|
+
}
|
|
258
|
+
export type DOMUtils_AnimationEventType = keyof DOMUtils_AnimationEvent;
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* 过渡事件
|
|
262
|
+
*/
|
|
263
|
+
export interface DOMUtils_TransitionEvent {
|
|
264
|
+
transitionend: TransitionEvent;
|
|
265
|
+
}
|
|
266
|
+
export type DOMUtils_TransitionEventType = keyof DOMUtils_TransitionEvent;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* 触摸事件
|
|
270
|
+
*/
|
|
271
|
+
export interface DOMUtils_TouchEvent {
|
|
272
|
+
/** 触摸开始事件 */
|
|
273
|
+
touchstart: TouchEvent;
|
|
274
|
+
/** 触摸移动事件 */
|
|
275
|
+
touchmove: TouchEvent;
|
|
276
|
+
/** 触摸结束事件 */
|
|
277
|
+
touchend: TouchEvent;
|
|
278
|
+
/** 触摸被中断事件 */
|
|
279
|
+
touchcancel: TouchEvent;
|
|
280
|
+
/** 触摸进入元素事件 */
|
|
281
|
+
touchenter: TouchEvent;
|
|
282
|
+
/** 触摸离开元素事件 */
|
|
283
|
+
touchleave: TouchEvent;
|
|
284
|
+
}
|
|
285
|
+
export type DOMUtils_TouchEventType = keyof DOMUtils_TouchEvent;
|
|
286
|
+
/**
|
|
287
|
+
* 其它事件
|
|
288
|
+
*/
|
|
289
|
+
export interface DOMUtils_OtherEvent {
|
|
290
|
+
/** 接收到消息事件 */
|
|
291
|
+
message: Event;
|
|
292
|
+
/** 浏览器上线事件 */
|
|
293
|
+
online: Event;
|
|
294
|
+
/** 浏览器离线事件 */
|
|
295
|
+
offline: Event;
|
|
296
|
+
/** 浏览器历史记录改变事件 */
|
|
297
|
+
popstate: Event;
|
|
298
|
+
/** 上下文菜单显示事件 */
|
|
299
|
+
show: Event;
|
|
300
|
+
/** Web Storage变化事件 */
|
|
301
|
+
storage: Event;
|
|
302
|
+
/** details元素打开/关闭事件 */
|
|
303
|
+
toggle: Event;
|
|
304
|
+
/** 鼠标滚轮滚动事件 */
|
|
305
|
+
wheel: Event;
|
|
306
|
+
/** IE特有属性改变事件 */
|
|
307
|
+
propertychange: Event;
|
|
308
|
+
/** 全屏状态改变事件 */
|
|
309
|
+
fullscreenchange: Event;
|
|
310
|
+
/** DOM内容加载完成事件 */
|
|
311
|
+
DOMContentLoaded: Event;
|
|
312
|
+
}
|
|
313
|
+
export type DOMUtils_OtherEventType = keyof DOMUtils_OtherEvent;
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* 全部事件
|
|
317
|
+
*/
|
|
318
|
+
export declare type DOMUtils_Event = DOMUtils_MouseEvent &
|
|
319
|
+
DOMUtils_KeyboardEvent &
|
|
320
|
+
DOMUtils_PointerEvent &
|
|
321
|
+
DOMUtils_Frame_Object_Event &
|
|
322
|
+
DOMUtils_FormEvent &
|
|
323
|
+
DOMUtils_ClipboardEvent &
|
|
324
|
+
DOMUtils_PrintEvent &
|
|
325
|
+
DOMUtils_DragEvent &
|
|
326
|
+
DOMUtils_MediaEvent &
|
|
327
|
+
DOMUtils_AnimationEvent &
|
|
328
|
+
DOMUtils_TransitionEvent &
|
|
329
|
+
DOMUtils_TouchEvent &
|
|
330
|
+
DOMUtils_OtherEvent;
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* 事件类型
|
|
334
|
+
*/
|
|
335
|
+
export declare type DOMUtils_EventType = keyof DOMUtils_Event;
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* 元素上的events属性
|
|
339
|
+
*/
|
|
340
|
+
export declare interface DOMUtilsEventListenerOptionsAttribute {
|
|
341
|
+
/**
|
|
342
|
+
* DOMUtils的handlerCallBack,元素上的监听事件就是它,移除事件时也需要传入这个函数
|
|
343
|
+
*/
|
|
344
|
+
handlerCallBack: (event: Event, $selector?: HTMLElement) => void;
|
|
345
|
+
/**
|
|
346
|
+
* 属性配置
|
|
347
|
+
*/
|
|
348
|
+
option: DOMUtilsEventListenerOption;
|
|
349
|
+
/**
|
|
350
|
+
* 用户添加的事件
|
|
351
|
+
*/
|
|
352
|
+
callback: (event: Event, $selector?: HTMLElement) => void;
|
|
353
|
+
/**
|
|
354
|
+
* 子元素选择器
|
|
355
|
+
*/
|
|
356
|
+
selector?: string[];
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* 事件的额外配置
|
|
361
|
+
*/
|
|
362
|
+
export declare type DOMUtilsEventListenerOption = AddEventListenerOptions & {
|
|
363
|
+
/**
|
|
364
|
+
* 是否使用 event.composedPath() 来代替 event.target
|
|
365
|
+
*
|
|
366
|
+
* 一般用于设置了selector参数
|
|
367
|
+
*/
|
|
368
|
+
isComposedPath?: boolean;
|
|
369
|
+
};
|
|
370
|
+
export declare type DOMUtilsElementEventType =
|
|
371
|
+
| HTMLElement
|
|
372
|
+
| string
|
|
373
|
+
| NodeList
|
|
374
|
+
| (HTMLElement | Window | Document | Element | typeof globalThis)[]
|
|
375
|
+
| Window
|
|
376
|
+
| Document
|
|
377
|
+
| Element
|
|
378
|
+
| null
|
|
379
|
+
| typeof globalThis
|
|
380
|
+
| ShadowRoot
|
|
381
|
+
| EventTarget
|
|
382
|
+
| ChildNode
|
|
383
|
+
| Node
|
|
384
|
+
| DocumentFragment;
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* 通过.on执行后的返回值
|
|
388
|
+
*/
|
|
389
|
+
export declare interface DOMUtilsAddEventListenerResult {
|
|
390
|
+
/**
|
|
391
|
+
* 取消绑定的监听事件
|
|
392
|
+
* @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
|
|
393
|
+
*/
|
|
394
|
+
off(
|
|
395
|
+
filter?: (
|
|
396
|
+
value: DOMUtilsEventListenerOptionsAttribute,
|
|
397
|
+
index: number,
|
|
398
|
+
array: DOMUtilsEventListenerOptionsAttribute[]
|
|
399
|
+
) => boolean
|
|
400
|
+
): void;
|
|
401
|
+
/**
|
|
402
|
+
* 主动触发事件
|
|
403
|
+
* @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
|
|
404
|
+
* @param useDispatchToEmit 是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用callback,但是这种会让使用了selectorTarget的没有值
|
|
405
|
+
*/
|
|
406
|
+
emit(details?: object, useDispatchToEmit?: boolean): void;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* 传递的双击配置信息
|
|
411
|
+
*/
|
|
412
|
+
export declare type DOMUtilsDoubleClickOption = {
|
|
413
|
+
/**
|
|
414
|
+
* 是否是双击
|
|
415
|
+
*
|
|
416
|
+
* + `true`:双击
|
|
417
|
+
* + `false`:单击
|
|
418
|
+
*/
|
|
419
|
+
isDoubleClick: boolean;
|
|
420
|
+
};
|