@whitesev/domutils 1.7.5 → 1.8.1
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 +4 -4
- package/dist/index.amd.js +333 -223
- 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 +333 -223
- 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 +333 -223
- 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 +333 -223
- 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 +333 -223
- 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 +333 -223
- 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/ElementEvent.d.ts +134 -106
- package/dist/types/src/types/DOMUtilsEvent.d.ts +15 -2
- package/package.json +10 -10
- package/src/ElementEvent.ts +298 -135
- package/src/types/DOMUtilsEvent.d.ts +15 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementAnimate } from "./ElementAnimate";
|
|
2
|
-
import type { DOMUtils_Event, DOMUtils_EventType, DOMUtilsAddEventListenerResult, DOMUtilsElementEventType, DOMUtilsEventListenerOption, DOMUtilsEventListenerOptionsAttribute } from "./types/DOMUtilsEvent";
|
|
2
|
+
import type { DOMUtils_Event, DOMUtils_EventType, DOMUtilsAddEventListenerResult, DOMUtilsDoubleClickOption, DOMUtilsElementEventType, DOMUtilsEventListenerOption, DOMUtilsEventListenerOptionsAttribute } from "./types/DOMUtilsEvent";
|
|
3
3
|
import type { DOMUtilsTargetElementType } from "./types/global";
|
|
4
4
|
import type { WindowApiOption } from "./types/WindowApi";
|
|
5
5
|
import { WindowApi } from "./WindowApi";
|
|
@@ -14,7 +14,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
14
14
|
* 绑定事件
|
|
15
15
|
* @param element 需要绑定的元素|元素数组|window
|
|
16
16
|
* @param eventType 需要监听的事件
|
|
17
|
-
* @param
|
|
17
|
+
* @param handler 绑定事件触发的回调函数
|
|
18
18
|
* @param option
|
|
19
19
|
* + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
|
|
20
20
|
* + once 表示事件是否只触发一次。默认为false
|
|
@@ -28,12 +28,12 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
28
28
|
* console.log("事件触发",event)
|
|
29
29
|
* })
|
|
30
30
|
*/
|
|
31
|
-
on<T extends DOMUtils_EventType>(element: DOMUtilsElementEventType, eventType: T | T[],
|
|
31
|
+
on<T extends DOMUtils_EventType>(element: DOMUtilsElementEventType, eventType: T | T[], handler: (this: HTMLElement, event: DOMUtils_Event[T]) => void, option?: DOMUtilsEventListenerOption | boolean): DOMUtilsAddEventListenerResult;
|
|
32
32
|
/**
|
|
33
33
|
* 绑定事件
|
|
34
34
|
* @param element 需要绑定的元素|元素数组|window
|
|
35
35
|
* @param eventType 需要监听的事件
|
|
36
|
-
* @param
|
|
36
|
+
* @param handler 绑定事件触发的回调函数
|
|
37
37
|
* @param option
|
|
38
38
|
* + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
|
|
39
39
|
* + once 表示事件是否只触发一次。默认为false
|
|
@@ -47,13 +47,13 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
47
47
|
* console.log("事件触发",event)
|
|
48
48
|
* })
|
|
49
49
|
*/
|
|
50
|
-
on<T extends Event>(element: DOMUtilsElementEventType, eventType: string | string[],
|
|
50
|
+
on<T extends Event>(element: DOMUtilsElementEventType, eventType: string | string[], handler: (this: HTMLElement, event: T) => void, option?: DOMUtilsEventListenerOption | boolean): DOMUtilsAddEventListenerResult;
|
|
51
51
|
/**
|
|
52
52
|
* 绑定事件
|
|
53
53
|
* @param element 需要绑定的元素|元素数组|window
|
|
54
54
|
* @param eventType 需要监听的事件
|
|
55
55
|
* @param selector 子元素选择器
|
|
56
|
-
* @param
|
|
56
|
+
* @param handler 绑定事件触发的回调函数
|
|
57
57
|
* @param option
|
|
58
58
|
* + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
|
|
59
59
|
* + once 表示事件是否只触发一次。默认为false
|
|
@@ -72,13 +72,13 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
72
72
|
* console.log("事件触发", event, selectorTarget)
|
|
73
73
|
* })
|
|
74
74
|
*/
|
|
75
|
-
on<T extends DOMUtils_EventType>(element: DOMUtilsElementEventType, eventType: T | T[], selector: string | string[] | undefined | null,
|
|
75
|
+
on<T extends DOMUtils_EventType>(element: DOMUtilsElementEventType, eventType: T | T[], selector: string | string[] | undefined | null, handler: (this: HTMLElement, event: DOMUtils_Event[T], selectorTarget: HTMLElement) => void, option?: DOMUtilsEventListenerOption | boolean): DOMUtilsAddEventListenerResult;
|
|
76
76
|
/**
|
|
77
77
|
* 绑定事件
|
|
78
78
|
* @param element 需要绑定的元素|元素数组|window
|
|
79
79
|
* @param eventType 需要监听的事件
|
|
80
80
|
* @param selector 子元素选择器
|
|
81
|
-
* @param
|
|
81
|
+
* @param handler 绑定事件触发的回调函数
|
|
82
82
|
* @param option
|
|
83
83
|
* + capture 表示事件是否在捕获阶段触发。默认为false,即在冒泡阶段触发
|
|
84
84
|
* + once 表示事件是否只触发一次。默认为false
|
|
@@ -97,7 +97,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
97
97
|
* console.log("事件触发", event, selectorTarget)
|
|
98
98
|
* })
|
|
99
99
|
*/
|
|
100
|
-
on<T extends Event>(element: DOMUtilsElementEventType, eventType: string | string[], selector: string | string[] | undefined | null,
|
|
100
|
+
on<T extends Event>(element: DOMUtilsElementEventType, eventType: string | string[], selector: string | string[] | undefined | null, handler: (this: HTMLElement, event: T, selectorTarget: HTMLElement) => void, option?: DOMUtilsEventListenerOption | boolean): DOMUtilsAddEventListenerResult;
|
|
101
101
|
/**
|
|
102
102
|
* 取消绑定事件
|
|
103
103
|
* @param element 需要取消绑定的元素|元素数组
|
|
@@ -172,53 +172,53 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
172
172
|
* 等待文档加载完成后执行指定的函数
|
|
173
173
|
* @param callback 需要执行的函数
|
|
174
174
|
* @example
|
|
175
|
-
* DOMUtils.
|
|
175
|
+
* DOMUtils.onReady(function(){
|
|
176
176
|
* console.log("文档加载完毕")
|
|
177
177
|
* });
|
|
178
178
|
* > "文档加载完毕"
|
|
179
179
|
* @example
|
|
180
|
-
* await DOMUtils.
|
|
180
|
+
* await DOMUtils.onReady();
|
|
181
181
|
* console.log("文档加载完毕");
|
|
182
182
|
* > "文档加载完毕"
|
|
183
183
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
onReady(): Promise<void>;
|
|
185
|
+
onReady(callback: (...args: any[]) => any): void;
|
|
186
186
|
/**
|
|
187
187
|
* 主动触发事件
|
|
188
188
|
* @param element 需要触发的元素|元素数组|window
|
|
189
189
|
* @param eventType 需要触发的事件
|
|
190
190
|
* @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
|
|
191
|
-
* @param
|
|
191
|
+
* @param useDispatchToEmit 是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用callback,但是这种会让使用了selectorTarget的没有值
|
|
192
192
|
* @example
|
|
193
193
|
* // 触发元素a.xx的click事件
|
|
194
|
-
* DOMUtils.
|
|
195
|
-
* DOMUtils.
|
|
194
|
+
* DOMUtils.emit(document.querySelector("a.xx"),"click")
|
|
195
|
+
* DOMUtils.emit("a.xx","click")
|
|
196
196
|
* // 触发元素a.xx的click、tap、hover事件
|
|
197
|
-
* DOMUtils.
|
|
198
|
-
* DOMUtils.
|
|
197
|
+
* DOMUtils.emit(document.querySelector("a.xx"),"click tap hover")
|
|
198
|
+
* DOMUtils.emit("a.xx",["click","tap","hover"])
|
|
199
199
|
*/
|
|
200
|
-
|
|
200
|
+
emit(element: DOMUtilsTargetElementType | Element | DocumentFragment | any[] | typeof globalThis | Window | Document, eventType: string | string[], details?: object, useDispatchToEmit?: boolean): void;
|
|
201
201
|
/**
|
|
202
202
|
* 主动触发事件
|
|
203
203
|
* @param element 需要触发的元素|元素数组|window
|
|
204
204
|
* @param eventType 需要触发的事件
|
|
205
205
|
* @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
|
|
206
|
-
* @param
|
|
206
|
+
* @param useDispatchToEmit 是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用callback,但是这种会让使用了selectorTarget的没有值
|
|
207
207
|
* @example
|
|
208
208
|
* // 触发元素a.xx的click事件
|
|
209
|
-
* DOMUtils.
|
|
210
|
-
* DOMUtils.
|
|
209
|
+
* DOMUtils.emit(document.querySelector("a.xx"),"click")
|
|
210
|
+
* DOMUtils.emit("a.xx","click")
|
|
211
211
|
* // 触发元素a.xx的click、tap、hover事件
|
|
212
|
-
* DOMUtils.
|
|
213
|
-
* DOMUtils.
|
|
212
|
+
* DOMUtils.emit(document.querySelector("a.xx"),"click tap hover")
|
|
213
|
+
* DOMUtils.emit("a.xx",["click","tap","hover"])
|
|
214
214
|
*/
|
|
215
|
-
|
|
215
|
+
emit(element: Element | string | NodeList | any[] | Window | Document, eventType: DOMUtils_EventType | DOMUtils_EventType[], details?: object, useDispatchToEmit?: boolean): void;
|
|
216
216
|
/**
|
|
217
|
-
*
|
|
217
|
+
* 监听或触发元素的click事件
|
|
218
218
|
* @param element 目标元素
|
|
219
219
|
* @param handler (可选)事件处理函数
|
|
220
220
|
* @param details (可选)赋予触发的Event的额外属性
|
|
221
|
-
* @param
|
|
221
|
+
* @param useDispatchToEmit (可选)是否使用dispatchEvent来触发事件,默认true
|
|
222
222
|
* @example
|
|
223
223
|
* // 触发元素a.xx的click事件
|
|
224
224
|
* DOMUtils.click(document.querySelector("a.xx"))
|
|
@@ -227,13 +227,13 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
227
227
|
* console.log("触发click事件成功")
|
|
228
228
|
* })
|
|
229
229
|
* */
|
|
230
|
-
click(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["click"]) => void, details?: any,
|
|
230
|
+
click(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["click"]) => void, details?: any, useDispatchToEmit?: boolean): void;
|
|
231
231
|
/**
|
|
232
|
-
*
|
|
232
|
+
* 监听或触发元素的blur事件
|
|
233
233
|
* @param element 目标元素
|
|
234
234
|
* @param handler (可选)事件处理函数
|
|
235
235
|
* @param details (可选)赋予触发的Event的额外属性
|
|
236
|
-
* @param
|
|
236
|
+
* @param useDispatchToEmit (可选)是否使用dispatchEvent来触发事件,默认true
|
|
237
237
|
* @example
|
|
238
238
|
* // 触发元素a.xx的blur事件
|
|
239
239
|
* DOMUtils.blur(document.querySelector("a.xx"))
|
|
@@ -242,13 +242,13 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
242
242
|
* console.log("触发blur事件成功")
|
|
243
243
|
* })
|
|
244
244
|
* */
|
|
245
|
-
blur(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["blur"]) => void, details?: object,
|
|
245
|
+
blur(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmit?: boolean): void;
|
|
246
246
|
/**
|
|
247
|
-
*
|
|
247
|
+
* 监听或触发元素的focus事件
|
|
248
248
|
* @param element 目标元素
|
|
249
249
|
* @param handler (可选)事件处理函数
|
|
250
250
|
* @param details (可选)赋予触发的Event的额外属性
|
|
251
|
-
* @param
|
|
251
|
+
* @param useDispatchToEmit (可选)是否使用dispatchEvent来触发事件,默认true
|
|
252
252
|
* @example
|
|
253
253
|
* // 触发元素a.xx的focus事件
|
|
254
254
|
* DOMUtils.focus(document.querySelector("a.xx"))
|
|
@@ -257,7 +257,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
257
257
|
* console.log("触发focus事件成功")
|
|
258
258
|
* })
|
|
259
259
|
* */
|
|
260
|
-
focus(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["focus"]) => void, details?: object,
|
|
260
|
+
focus(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmit?: boolean): void;
|
|
261
261
|
/**
|
|
262
262
|
* 当鼠标移入或移出元素时触发事件
|
|
263
263
|
* @param element 当前元素
|
|
@@ -265,30 +265,30 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
265
265
|
* @param option 配置
|
|
266
266
|
* @example
|
|
267
267
|
* // 监听a.xx元素的移入或移出
|
|
268
|
-
* DOMUtils.
|
|
268
|
+
* DOMUtils.onHover(document.querySelector("a.xx"),()=>{
|
|
269
269
|
* console.log("移入/移除");
|
|
270
270
|
* })
|
|
271
|
-
* DOMUtils.
|
|
271
|
+
* DOMUtils.onHover("a.xx",()=>{
|
|
272
272
|
* console.log("移入/移除");
|
|
273
273
|
* })
|
|
274
274
|
*/
|
|
275
|
-
|
|
275
|
+
onHover(element: DOMUtilsTargetElementType | Element | DocumentFragment | Node, handler: (this: HTMLElement, event: DOMUtils_Event["hover"]) => void, option?: boolean | DOMUtilsEventListenerOption): void;
|
|
276
276
|
/**
|
|
277
|
-
*
|
|
277
|
+
* 监听动画结束
|
|
278
278
|
* @param element 监听的元素
|
|
279
279
|
* @param handler 触发的回调函数
|
|
280
280
|
* @param option 配置项,这里默认配置once为true
|
|
281
281
|
*/
|
|
282
|
-
|
|
282
|
+
onAnimationend(element: HTMLElement | string | Element | DocumentFragment, handler: (this: HTMLElement, event: DOMUtils_Event["animationend"]) => void, option?: boolean | DOMUtilsEventListenerOption): {
|
|
283
283
|
off(): void;
|
|
284
284
|
} | undefined;
|
|
285
285
|
/**
|
|
286
|
-
*
|
|
286
|
+
* 监听过渡结束
|
|
287
287
|
* @param element 监听的元素
|
|
288
288
|
* @param handler 触发的回调函数
|
|
289
289
|
* @param option 配置项,这里默认配置once为true
|
|
290
290
|
*/
|
|
291
|
-
|
|
291
|
+
onTransitionend(element: HTMLElement | string | Element | DocumentFragment, handler: (this: HTMLElement, event: DOMUtils_Event["transitionend"]) => void, option?: boolean | DOMUtilsEventListenerOption): {
|
|
292
292
|
off(): void;
|
|
293
293
|
} | undefined;
|
|
294
294
|
/**
|
|
@@ -306,7 +306,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
306
306
|
* console.log("按键松开");
|
|
307
307
|
* })
|
|
308
308
|
*/
|
|
309
|
-
|
|
309
|
+
onKeyup(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keyup"]) => void, option?: boolean | DOMUtilsEventListenerOption): void;
|
|
310
310
|
/**
|
|
311
311
|
* 当按键按下时触发事件
|
|
312
312
|
* keydown - > keypress - > keyup
|
|
@@ -322,7 +322,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
322
322
|
* console.log("按键按下");
|
|
323
323
|
* })
|
|
324
324
|
*/
|
|
325
|
-
|
|
325
|
+
onKeydown(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keydown"]) => void, option?: boolean | DOMUtilsEventListenerOption): void;
|
|
326
326
|
/**
|
|
327
327
|
* 当按键按下时触发事件
|
|
328
328
|
* keydown - > keypress - > keyup
|
|
@@ -338,73 +338,101 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
338
338
|
* console.log("按键按下");
|
|
339
339
|
* })
|
|
340
340
|
*/
|
|
341
|
-
|
|
341
|
+
onKeypress(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keypress"]) => void, option?: boolean | DOMUtilsEventListenerOption): void;
|
|
342
342
|
/**
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
343
|
+
* 监听某个元素键盘按键事件或window全局按键事件
|
|
344
|
+
* 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
|
|
345
|
+
* @param element 需要监听的对象,可以是全局Window或者某个元素
|
|
346
|
+
* @param eventName 事件名,默认keypress,keydown - > keypress - > keyup
|
|
347
|
+
* @param handler 自己定义的回调事件,参数1为当前的key,参数2为组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)
|
|
348
348
|
* @param options 监听事件的配置
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
349
|
+
* @example
|
|
350
|
+
Utils.onKeyboard(window,(keyName,keyValue,otherKey,event)=>{
|
|
351
|
+
if(keyName === "Enter"){
|
|
352
|
+
console.log("回车按键的值是:"+keyValue)
|
|
353
|
+
}
|
|
354
|
+
if(otherKey.indexOf("ctrl") && keyName === "Enter" ){
|
|
355
|
+
console.log("Ctrl和回车键");
|
|
356
|
+
}
|
|
357
|
+
})
|
|
358
|
+
* @example
|
|
359
|
+
字母和数字键的键码值(keyCode)
|
|
360
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
361
|
+
A 65 J 74 S 83 1 49
|
|
362
|
+
B 66 K 75 T 84 2 50
|
|
363
|
+
C 67 L 76 U 85 3 51
|
|
364
|
+
D 68 M 77 V 86 4 52
|
|
365
|
+
E 69 N 78 W 87 5 53
|
|
366
|
+
F 70 O 79 X 88 6 54
|
|
367
|
+
G 71 P 80 Y 89 7 55
|
|
368
|
+
H 72 Q 81 Z 90 8 56
|
|
369
|
+
I 73 R 82 0 48 9 57
|
|
370
|
+
|
|
371
|
+
数字键盘上的键的键码值(keyCode)
|
|
372
|
+
功能键键码值(keyCode)
|
|
373
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
374
|
+
0 96 8 104 F1 112 F7 118
|
|
375
|
+
1 97 9 105 F2 113 F8 119
|
|
376
|
+
2 98 * 106 F3 114 F9 120
|
|
377
|
+
3 99 + 107 F4 115 F10 121
|
|
378
|
+
4 100 Enter 108 F5 116 F11 122
|
|
379
|
+
5 101 - 109 F6 117 F12 123
|
|
380
|
+
6 102 . 110
|
|
381
|
+
7 103 / 111
|
|
382
|
+
|
|
383
|
+
控制键键码值(keyCode)
|
|
384
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
385
|
+
BackSpace 8 Esc 27 → 39 -_ 189
|
|
386
|
+
Tab 9 Spacebar 32 ↓ 40 .> 190
|
|
387
|
+
Clear 12 Page Up 33 Insert 45 /? 191
|
|
388
|
+
Enter 13 Page Down 34 Delete 46 `~ 192
|
|
389
|
+
Shift 16 End 35 Num Lock 144 [{ 219
|
|
390
|
+
Control 17 Home 36 ;: 186 \| 220
|
|
391
|
+
Alt 18 ← 37 =+ 187 ]} 221
|
|
392
|
+
Cape Lock 20 ↑ 38 ,< 188 '" 222
|
|
393
|
+
|
|
394
|
+
多媒体键码值(keyCode)
|
|
395
|
+
按键 键码
|
|
396
|
+
音量加 175
|
|
397
|
+
音量减 174
|
|
398
|
+
停止 179
|
|
399
|
+
静音 173
|
|
400
|
+
浏览器 172
|
|
401
|
+
邮件 180
|
|
402
|
+
搜索 170
|
|
403
|
+
收藏 171
|
|
404
|
+
**/
|
|
405
|
+
onKeyboard(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, eventName: "keydown" | "keypress" | "keyup" | undefined, handler: (keyName: string, keyValue: number, otherCodeList: string[], event: KeyboardEvent) => void, options?: DOMUtilsEventListenerOption | boolean): {
|
|
406
406
|
removeListen(): void;
|
|
407
407
|
};
|
|
408
|
+
/**
|
|
409
|
+
* 监input、textarea的输入框值改变的事件(当输入法输入时,不会触发该监听)
|
|
410
|
+
* @param $el 输入框元素
|
|
411
|
+
* @param handler 回调函数
|
|
412
|
+
* @param option 配置
|
|
413
|
+
*/
|
|
414
|
+
onInput($el: HTMLInputElement | HTMLTextAreaElement, handler: (evt: InputEvent) => void | Promise<void>, option?: DOMUtilsEventListenerOption | boolean): {
|
|
415
|
+
off: () => void;
|
|
416
|
+
};
|
|
417
|
+
/**
|
|
418
|
+
* 双击监听,适配移动端
|
|
419
|
+
* @param $el 监听的元素
|
|
420
|
+
* @param handler 处理的回调函数
|
|
421
|
+
* @param options 监听器的配置
|
|
422
|
+
*/
|
|
423
|
+
onDoubleClick($el: DOMUtilsTargetElementType, handler: (event: MouseEvent | PointerEvent | TouchEvent, option: DOMUtilsDoubleClickOption) => void | Promise<void>, options?: DOMUtilsEventListenerOption | boolean): {
|
|
424
|
+
off(): void;
|
|
425
|
+
};
|
|
426
|
+
/**
|
|
427
|
+
* 双击监听,适配移动端
|
|
428
|
+
* @param $el 监听的元素
|
|
429
|
+
* @param selector 子元素选择器
|
|
430
|
+
* @param handler 处理的回调函数
|
|
431
|
+
* @param options 监听器的配置
|
|
432
|
+
*/
|
|
433
|
+
onDoubleClick($el: DOMUtilsTargetElementType, selector: string | string[] | undefined | null, handler: (event: MouseEvent | PointerEvent | TouchEvent, option: DOMUtilsDoubleClickOption) => void | Promise<void>, options?: DOMUtilsEventListenerOption | boolean): {
|
|
434
|
+
off(): void;
|
|
435
|
+
};
|
|
408
436
|
/**
|
|
409
437
|
* 阻止事件传递
|
|
410
438
|
* @param event 要阻止传递的事件
|
|
@@ -268,7 +268,20 @@ export declare interface DOMUtilsAddEventListenerResult {
|
|
|
268
268
|
/**
|
|
269
269
|
* 主动触发事件
|
|
270
270
|
* @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象
|
|
271
|
-
* @param
|
|
271
|
+
* @param useDispatchToEmit 是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用callback,但是这种会让使用了selectorTarget的没有值
|
|
272
272
|
*/
|
|
273
|
-
|
|
273
|
+
emit(details?: object, useDispatchToEmit?: boolean): void;
|
|
274
274
|
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* 传递的双击配置信息
|
|
278
|
+
*/
|
|
279
|
+
export declare type DOMUtilsDoubleClickOption = {
|
|
280
|
+
/**
|
|
281
|
+
* 是否是双击
|
|
282
|
+
*
|
|
283
|
+
* + `true`:双击
|
|
284
|
+
* + `false`:单击
|
|
285
|
+
*/
|
|
286
|
+
isDoubleClick: boolean;
|
|
287
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@whitesev/domutils",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.8.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "适合在浏览器中操作DOM的常用工具类",
|
|
7
7
|
"main": "dist/index.cjs.js",
|
|
@@ -32,27 +32,27 @@
|
|
|
32
32
|
"author": "WhiteSev",
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"worker-timers": "^8.0.
|
|
35
|
+
"worker-timers": "^8.0.27"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@eslint/js": "^9.
|
|
39
|
-
"@rollup/plugin-commonjs": "^
|
|
38
|
+
"@eslint/js": "^9.39.2",
|
|
39
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
40
40
|
"@rollup/plugin-json": "^6.1.0",
|
|
41
41
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
42
42
|
"@rollup/plugin-terser": "^0.4.4",
|
|
43
43
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
44
|
-
"browserslist": "^4.
|
|
45
|
-
"caniuse-lite": "^1.0.
|
|
46
|
-
"eslint": "^9.
|
|
44
|
+
"browserslist": "^4.28.1",
|
|
45
|
+
"caniuse-lite": "^1.0.30001761",
|
|
46
|
+
"eslint": "^9.39.2",
|
|
47
47
|
"eslint-config-prettier": "^10.1.8",
|
|
48
48
|
"eslint-plugin-compat": "^6.0.2",
|
|
49
49
|
"eslint-plugin-prettier": "^5.5.4",
|
|
50
|
-
"globals": "^16.
|
|
51
|
-
"rollup": "^4.
|
|
50
|
+
"globals": "^16.5.0",
|
|
51
|
+
"rollup": "^4.54.0",
|
|
52
52
|
"rollup-plugin-clear": "^2.0.7",
|
|
53
53
|
"tslib": "^2.8.1",
|
|
54
54
|
"typescript": "^5.9.3",
|
|
55
|
-
"typescript-eslint": "^8.
|
|
55
|
+
"typescript-eslint": "^8.50.0"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"lint": "eslint .",
|