@whitesev/pops 1.0.1 → 1.2.0

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.
@@ -1,334 +0,0 @@
1
- import type { PopsDOMUtils_Event, PopsDOMUtils_EventType, PopsDOMUtilsElementEventType, PopsDOMUtilsEventListenerOptionsAttribute } from "../types/PopsDOMUtilsEventType";
2
- declare class PopsDOMUtilsEvent {
3
- /**
4
- * 绑定事件
5
- * @param element 需要绑定的元素|元素数组|window
6
- * @param eventType 需要监听的事件
7
- * @param callback 绑定事件触发的回调函数
8
- * @param option
9
- * + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
10
- * + once 表示事件是否只触发一次。默认为false
11
- * + passive 表示事件监听器是否不会调用preventDefault()。默认为false
12
- * @example
13
- * // 监听元素a.xx的click事件
14
- * DOMUtils.on(document.querySelector("a.xx"),"click",(event)=>{
15
- * console.log("事件触发",event)
16
- * })
17
- * DOMUtils.on("a.xx","click",(event)=>{
18
- * console.log("事件触发",event)
19
- * })
20
- */
21
- on(element: PopsDOMUtilsElementEventType, eventType: string | string[], callback: (event: Event) => void, option?: boolean | AddEventListenerOptions): void;
22
- on<T extends PopsDOMUtils_EventType>(element: PopsDOMUtilsElementEventType, eventType: T | T[], callback: (event: PopsDOMUtils_Event[T]) => void, option?: boolean | AddEventListenerOptions): void;
23
- /**
24
- * 绑定事件
25
- * @param element 需要绑定的元素|元素数组|window
26
- * @param eventType 需要监听的事件
27
- * @param callback 绑定事件触发的回调函数
28
- * @param option
29
- * + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
30
- * + once 表示事件是否只触发一次。默认为false
31
- * + passive 表示事件监听器是否不会调用preventDefault()。默认为false
32
- * @example
33
- * // 监听元素a.xx的click事件
34
- * DOMUtils.on(document.querySelector("a.xx"),"click",(event)=>{
35
- * console.log("事件触发",event)
36
- * })
37
- * DOMUtils.on("a.xx","click",(event)=>{
38
- * console.log("事件触发",event)
39
- * })
40
- */
41
- on<T extends Event>(element: PopsDOMUtilsElementEventType, eventType: string, callback: (event: T) => void, option?: boolean | AddEventListenerOptions): void;
42
- /**
43
- * 绑定事件
44
- * @param element 需要绑定的元素|元素数组|window
45
- * @param eventType 需要监听的事件
46
- * @param selector 子元素选择器
47
- * @param callback 绑定事件触发的回调函数
48
- * @param option
49
- * + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
50
- * + once 表示事件是否只触发一次。默认为false
51
- * + passive 表示事件监听器是否不会调用preventDefault()。默认为false
52
- * @example
53
- * // 监听元素a.xx的click、tap、hover事件
54
- * DOMUtils.on(document.querySelector("a.xx"),"click tap hover",(event)=>{
55
- * console.log("事件触发",event)
56
- * })
57
- * DOMUtils.on("a.xx",["click","tap","hover"],(event)=>{
58
- * console.log("事件触发",event)
59
- * })
60
- * @example
61
- * // 监听全局document下的子元素a.xx的click事件
62
- * DOMUtils.on(document,"click tap hover","a.xx",(event)=>{
63
- * console.log("事件触发",event)
64
- * })
65
- */
66
- on<T extends PopsDOMUtils_EventType>(element: PopsDOMUtilsElementEventType, eventType: T | T[], selector: string | undefined | null, callback: (event: PopsDOMUtils_Event[T]) => void, option?: boolean | AddEventListenerOptions): void;
67
- on<T extends Event>(element: PopsDOMUtilsElementEventType, eventType: string | string[], selector: string | undefined | null, callback: (event: T) => void, option?: boolean | AddEventListenerOptions): void;
68
- /**
69
- * 绑定事件
70
- * @param element 需要绑定的元素|元素数组|window
71
- * @param eventType 需要监听的事件
72
- * @param selector 子元素选择器
73
- * @param callback 绑定事件触发的回调函数
74
- * @param option
75
- * + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
76
- * + once 表示事件是否只触发一次。默认为false
77
- * + passive 表示事件监听器是否不会调用preventDefault()。默认为false
78
- * @example
79
- * // 监听元素a.xx的click、tap、hover事件
80
- * DOMUtils.on(document.querySelector("a.xx"),"click tap hover",(event)=>{
81
- * console.log("事件触发",event)
82
- * })
83
- * DOMUtils.on("a.xx",["click","tap","hover"],(event)=>{
84
- * console.log("事件触发",event)
85
- * })
86
- * @example
87
- * // 监听全局document下的子元素a.xx的click事件
88
- * DOMUtils.on(document,"click tap hover","a.xx",(event)=>{
89
- * console.log("事件触发",event)
90
- * })
91
- */
92
- on<T extends Event>(element: PopsDOMUtilsElementEventType, eventType: string, selector: string | undefined | null, callback: (event: T) => void, option?: boolean | AddEventListenerOptions): void;
93
- /**
94
- * 取消绑定事件
95
- * @param element 需要取消绑定的元素|元素数组
96
- * @param eventType 需要取消监听的事件
97
- * @param callback 通过DOMUtils.on绑定的事件函数
98
- * @param option
99
- * + capture 如果在添加事件监听器时指定了useCapture为true,则在移除事件监听器时也必须指定为true
100
- * @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
101
- * @example
102
- * // 取消监听元素a.xx的click事件
103
- * DOMUtils.off(document.querySelector("a.xx"),"click")
104
- * DOMUtils.off("a.xx","click")
105
- */
106
- off(element: PopsDOMUtilsElementEventType, eventType: string | string[], callback?: (event: Event) => void, option?: boolean | AddEventListenerOptions, filter?: (value: PopsDOMUtilsEventListenerOptionsAttribute, index: number, array: PopsDOMUtilsEventListenerOptionsAttribute[]) => boolean): void;
107
- off<T extends PopsDOMUtils_EventType>(element: PopsDOMUtilsElementEventType, eventType: T | T[], callback?: (event: PopsDOMUtils_Event[T]) => void, option?: boolean | AddEventListenerOptions, filter?: (value: PopsDOMUtilsEventListenerOptionsAttribute, index: number, array: PopsDOMUtilsEventListenerOptionsAttribute[]) => boolean): void;
108
- /**
109
- * 取消绑定事件
110
- * @param element 需要取消绑定的元素|元素数组
111
- * @param eventType 需要取消监听的事件
112
- * @param callback 通过DOMUtils.on绑定的事件函数
113
- * @param option
114
- * + capture 如果在添加事件监听器时指定了useCapture为true,则在移除事件监听器时也必须指定为true
115
- * @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
116
- * @example
117
- * // 取消监听元素a.xx的click事件
118
- * DOMUtils.off(document.querySelector("a.xx"),"click")
119
- * DOMUtils.off("a.xx","click")
120
- */
121
- off<T extends Event>(element: PopsDOMUtilsElementEventType, eventType: string, callback?: (event: T) => void, option?: boolean | AddEventListenerOptions, filter?: (value: PopsDOMUtilsEventListenerOptionsAttribute, index: number, array: PopsDOMUtilsEventListenerOptionsAttribute[]) => boolean): void;
122
- /**
123
- * 取消绑定事件
124
- * @param element 需要取消绑定的元素|元素数组
125
- * @param eventType 需要取消监听的事件
126
- * @param selector 子元素选择器
127
- * @param callback 通过DOMUtils.on绑定的事件函数
128
- * @param option
129
- * + capture 如果在添加事件监听器时指定了useCapture为true,则在移除事件监听器时也必须指定为true
130
- * @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
131
- * @example
132
- * // 取消监听元素a.xx的click、tap、hover事件
133
- * DOMUtils.off(document.querySelector("a.xx"),"click tap hover")
134
- * DOMUtils.off("a.xx",["click","tap","hover"])
135
- */
136
- off<T extends PopsDOMUtils_EventType>(element: PopsDOMUtilsElementEventType, eventType: T | T[], selector?: string | undefined, callback?: (event: PopsDOMUtils_Event[T]) => void, option?: boolean | AddEventListenerOptions, filter?: (value: PopsDOMUtilsEventListenerOptionsAttribute, index: number, array: PopsDOMUtilsEventListenerOptionsAttribute[]) => boolean): void;
137
- /**
138
- * 取消绑定事件
139
- * @param element 需要取消绑定的元素|元素数组
140
- * @param eventType 需要取消监听的事件
141
- * @param selector 子元素选择器
142
- * @param callback 通过DOMUtils.on绑定的事件函数
143
- * @param option
144
- * + capture 如果在添加事件监听器时指定了useCapture为true,则在移除事件监听器时也必须指定为true
145
- * @param filter (可选)过滤函数,对元素属性上的事件进行过滤出想要删除的事件
146
- * @example
147
- * // 取消监听元素a.xx的click、tap、hover事件
148
- * DOMUtils.off(document.querySelector("a.xx"),"click tap hover")
149
- * DOMUtils.off("a.xx",["click","tap","hover"])
150
- */
151
- off<T extends Event>(element: PopsDOMUtilsElementEventType, eventType: string | string[], selector?: string | undefined, callback?: (event: T) => void, option?: boolean | AddEventListenerOptions, filter?: (value: PopsDOMUtilsEventListenerOptionsAttribute, index: number, array: PopsDOMUtilsEventListenerOptionsAttribute[]) => boolean): void;
152
- /**
153
- * 取消绑定所有的事件
154
- * @param element 需要取消绑定的元素|元素数组
155
- * @param eventType (可选)需要取消监听的事件
156
- */
157
- offAll(element: PopsDOMUtilsElementEventType, eventType?: string): void;
158
- /**
159
- * 取消绑定所有的事件
160
- * @param element 需要取消绑定的元素|元素数组
161
- * @param eventType (可选)需要取消监听的事件
162
- */
163
- offAll(element: PopsDOMUtilsElementEventType, eventType?: PopsDOMUtils_EventType | PopsDOMUtils_EventType[]): void;
164
- /**
165
- * 等待文档加载完成后执行指定的函数
166
- * @param callback 需要执行的函数
167
- * @example
168
- * DOMUtils.ready(function(){
169
- * console.log("文档加载完毕")
170
- * })
171
- */
172
- ready<T extends Function>(callback: T): void;
173
- /**
174
- * 主动触发事件
175
- * @param element 需要触发的元素|元素数组|window
176
- * @param eventType 需要触发的事件
177
- * @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
178
- * @param useDispatchToTriggerEvent 是否使用dispatchEvent来触发事件,默认true
179
- * @example
180
- * // 触发元素a.xx的click事件
181
- * DOMUtils.trigger(document.querySelector("a.xx"),"click")
182
- * DOMUtils.trigger("a.xx","click")
183
- * // 触发元素a.xx的click、tap、hover事件
184
- * DOMUtils.trigger(document.querySelector("a.xx"),"click tap hover")
185
- * DOMUtils.trigger("a.xx",["click","tap","hover"])
186
- */
187
- trigger(element: HTMLElement | string | NodeList | any[] | Window | Document, eventType: string | string[], details?: object, useDispatchToTriggerEvent?: boolean): void;
188
- /**
189
- * 主动触发事件
190
- * @param element 需要触发的元素|元素数组|window
191
- * @param eventType 需要触发的事件
192
- * @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
193
- * @param useDispatchToTriggerEvent 是否使用dispatchEvent来触发事件,默认true
194
- * @example
195
- * // 触发元素a.xx的click事件
196
- * DOMUtils.trigger(document.querySelector("a.xx"),"click")
197
- * DOMUtils.trigger("a.xx","click")
198
- * // 触发元素a.xx的click、tap、hover事件
199
- * DOMUtils.trigger(document.querySelector("a.xx"),"click tap hover")
200
- * DOMUtils.trigger("a.xx",["click","tap","hover"])
201
- */
202
- trigger(element: HTMLElement | string | NodeList | any[] | Window | Document, eventType: PopsDOMUtils_EventType | PopsDOMUtils_EventType[], details?: object, useDispatchToTriggerEvent?: boolean): void;
203
- /**
204
- * 绑定或触发元素的click事件
205
- * @param element 目标元素
206
- * @param handler (可选)事件处理函数
207
- * @param details (可选)赋予触发的Event的额外属性
208
- * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true
209
- * @example
210
- * // 触发元素a.xx的click事件
211
- * DOMUtils.click(document.querySelector("a.xx"))
212
- * DOMUtils.click("a.xx")
213
- * DOMUtils.click("a.xx",function(){
214
- * console.log("触发click事件成功")
215
- * })
216
- * */
217
- click(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["click"]) => void, details?: any, useDispatchToTriggerEvent?: boolean): void;
218
- /**
219
- * 绑定或触发元素的blur事件
220
- * @param element 目标元素
221
- * @param handler (可选)事件处理函数
222
- * @param details (可选)赋予触发的Event的额外属性
223
- * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true
224
- * @example
225
- * // 触发元素a.xx的blur事件
226
- * DOMUtils.blur(document.querySelector("a.xx"))
227
- * DOMUtils.blur("a.xx")
228
- * DOMUtils.blur("a.xx",function(){
229
- * console.log("触发blur事件成功")
230
- * })
231
- * */
232
- blur(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["blur"]) => void, details?: object, useDispatchToTriggerEvent?: boolean): void;
233
- /**
234
- * 绑定或触发元素的focus事件
235
- * @param element 目标元素
236
- * @param handler (可选)事件处理函数
237
- * @param details (可选)赋予触发的Event的额外属性
238
- * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true
239
- * @example
240
- * // 触发元素a.xx的focus事件
241
- * DOMUtils.focus(document.querySelector("a.xx"))
242
- * DOMUtils.focus("a.xx")
243
- * DOMUtils.focus("a.xx",function(){
244
- * console.log("触发focus事件成功")
245
- * })
246
- * */
247
- focus(element: HTMLElement | string | Window, handler?: (event: PopsDOMUtils_Event["focus"]) => void, details?: object, useDispatchToTriggerEvent?: boolean): void;
248
- /**
249
- * 当鼠标移入或移出元素时触发事件
250
- * @param element 当前元素
251
- * @param handler 事件处理函数
252
- * @param option 配置
253
- * @example
254
- * // 监听a.xx元素的移入或移出
255
- * DOMUtils.hover(document.querySelector("a.xx"),()=>{
256
- * console.log("移入/移除");
257
- * })
258
- * DOMUtils.hover("a.xx",()=>{
259
- * console.log("移入/移除");
260
- * })
261
- */
262
- hover(element: HTMLElement | string, handler: (event: PopsDOMUtils_Event["hover"]) => void, option?: boolean | AddEventListenerOptions): void;
263
- /**
264
- * 当按键松开时触发事件
265
- * keydown - > keypress - > keyup
266
- * @param target 当前元素
267
- * @param handler 事件处理函数
268
- * @param option 配置
269
- * @example
270
- * // 监听a.xx元素的按键松开
271
- * DOMUtils.keyup(document.querySelector("a.xx"),()=>{
272
- * console.log("按键松开");
273
- * })
274
- * DOMUtils.keyup("a.xx",()=>{
275
- * console.log("按键松开");
276
- * })
277
- */
278
- keyup(target: HTMLElement | string | Window | typeof globalThis, handler: (event: PopsDOMUtils_Event["keyup"]) => void, option?: boolean | AddEventListenerOptions): void;
279
- /**
280
- * 当按键按下时触发事件
281
- * keydown - > keypress - > keyup
282
- * @param target 目标
283
- * @param handler 事件处理函数
284
- * @param option 配置
285
- * @example
286
- * // 监听a.xx元素的按键按下
287
- * DOMUtils.keydown(document.querySelector("a.xx"),()=>{
288
- * console.log("按键按下");
289
- * })
290
- * DOMUtils.keydown("a.xx",()=>{
291
- * console.log("按键按下");
292
- * })
293
- */
294
- keydown(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keydown"]) => void, option?: boolean | AddEventListenerOptions): void;
295
- /**
296
- * 当按键按下时触发事件
297
- * keydown - > keypress - > keyup
298
- * @param target 目标
299
- * @param handler 事件处理函数
300
- * @param option 配置
301
- * @example
302
- * // 监听a.xx元素的按键按下
303
- * DOMUtils.keypress(document.querySelector("a.xx"),()=>{
304
- * console.log("按键按下");
305
- * })
306
- * DOMUtils.keypress("a.xx",()=>{
307
- * console.log("按键按下");
308
- * })
309
- */
310
- keypress(target: HTMLElement | Window | typeof globalThis | string, handler: (event: PopsDOMUtils_Event["keypress"]) => void, option?: boolean | AddEventListenerOptions): void;
311
- /**
312
- * 阻止事件传递
313
- * @param element 要进行处理的元素
314
- * @param eventNameList (可选)要阻止的事件名|列表
315
- * @param capture (可选)是否捕获,默认false
316
- * @example
317
- * Utils.preventEvent(document.querySelector("a"),"click")
318
- * @example
319
- * Utils.preventEvent(event);
320
- */
321
- preventEvent(event: Event): boolean;
322
- /**
323
- * 阻止事件传递
324
- * @param element 要进行处理的元素
325
- * @param eventNameList (可选)要阻止的事件名|列表
326
- * @param capture (可选)是否捕获,默认false
327
- * @example
328
- * Utils.preventEvent(document.querySelector("a"),"click")
329
- * @example
330
- * Utils.preventEvent(event);
331
- */
332
- preventEvent(element: HTMLElement, eventNameList?: string | string[], capture?: boolean): boolean;
333
- }
334
- export { PopsDOMUtilsEvent };