@whitesev/domutils 1.9.5 → 1.9.7
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 +157 -58
- 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 +157 -58
- 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 +157 -58
- 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 +157 -58
- 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 +157 -58
- 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 +157 -58
- 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 +83 -28
- package/package.json +1 -1
- package/src/ElementEvent.ts +257 -74
- package/src/Utils.ts +0 -3
|
@@ -229,18 +229,21 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
229
229
|
/**
|
|
230
230
|
* 主动触发事件
|
|
231
231
|
* @param element 需要触发的元素|元素数组|window
|
|
232
|
-
* @param
|
|
233
|
-
* @param extraDetails
|
|
234
|
-
* @param useDispatchToTriggerEvent
|
|
232
|
+
* @param event 触发的事件
|
|
233
|
+
* @param extraDetails (可选)赋予触发的Event的额外属性
|
|
234
|
+
* @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true,如果为false,则直接调用通过.on监听的callback(),但是这种只有一个入参,如果使用$selector则没有值
|
|
235
235
|
* @example
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
* DOMUtils.emit("a.xx","click")
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
236
|
+
* DOMUtils.emit("a.xx", new Event("click"))
|
|
237
|
+
* @example
|
|
238
|
+
* DOMUtils.emit("a.xx", new Event("click"), {
|
|
239
|
+
* disableHook: true
|
|
240
|
+
* })
|
|
241
|
+
* @example
|
|
242
|
+
* DOMUtils.emit("a.xx", new Event("click"), {
|
|
243
|
+
* disableHook: true
|
|
244
|
+
* },false)
|
|
242
245
|
*/
|
|
243
|
-
emit(element: Element | string | NodeList | any[] | Window | Document,
|
|
246
|
+
emit(element: Element | string | NodeList | any[] | Window | Document, event: Event, extraDetails?: object, useDispatchToTriggerEvent?: boolean): void;
|
|
244
247
|
/**
|
|
245
248
|
* 监听或触发元素的click事件
|
|
246
249
|
* @param element 目标元素
|
|
@@ -255,7 +258,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
255
258
|
* console.log("触发click事件成功")
|
|
256
259
|
* })
|
|
257
260
|
* */
|
|
258
|
-
click(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["click"]) => void, details?: object, useDispatchToEmit?: boolean):
|
|
261
|
+
click(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["click"]) => void, details?: object, useDispatchToEmit?: boolean): DOMUtilsAddEventListenerResult | undefined;
|
|
259
262
|
/**
|
|
260
263
|
* 监听或触发元素的blur事件
|
|
261
264
|
* @param element 目标元素
|
|
@@ -270,7 +273,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
270
273
|
* console.log("触发blur事件成功")
|
|
271
274
|
* })
|
|
272
275
|
* */
|
|
273
|
-
blur(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmit?: boolean):
|
|
276
|
+
blur(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["blur"]) => void, details?: object, useDispatchToEmit?: boolean): DOMUtilsAddEventListenerResult | undefined;
|
|
274
277
|
/**
|
|
275
278
|
* 监听或触发元素的focus事件
|
|
276
279
|
* @param element 目标元素
|
|
@@ -285,7 +288,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
285
288
|
* console.log("触发focus事件成功")
|
|
286
289
|
* })
|
|
287
290
|
* */
|
|
288
|
-
focus(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmit?: boolean):
|
|
291
|
+
focus(element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window, handler?: (this: HTMLElement, event: DOMUtils_Event["focus"]) => void, details?: object, useDispatchToEmit?: boolean): DOMUtilsAddEventListenerResult | undefined;
|
|
289
292
|
/**
|
|
290
293
|
* 当鼠标移入或移出元素时触发事件
|
|
291
294
|
* @param element 当前元素
|
|
@@ -300,7 +303,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
300
303
|
* console.log("移入/移除");
|
|
301
304
|
* })
|
|
302
305
|
*/
|
|
303
|
-
onHover(element: DOMUtilsTargetElementType | Element | DocumentFragment | Node, handler: (this: HTMLElement, event: DOMUtils_Event["hover"]) => void, option?: boolean | DOMUtilsEventListenerOption):
|
|
306
|
+
onHover(element: DOMUtilsTargetElementType | Element | DocumentFragment | Node, handler: (this: HTMLElement, event: DOMUtils_Event["hover"]) => void, option?: boolean | DOMUtilsEventListenerOption): DOMUtilsAddEventListenerResult | undefined;
|
|
304
307
|
/**
|
|
305
308
|
* 监听动画结束
|
|
306
309
|
* @param element 监听的元素
|
|
@@ -334,7 +337,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
334
337
|
* console.log("按键松开");
|
|
335
338
|
* })
|
|
336
339
|
*/
|
|
337
|
-
onKeyup(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keyup"]) => void, option?: boolean | DOMUtilsEventListenerOption):
|
|
340
|
+
onKeyup(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keyup"]) => void, option?: boolean | DOMUtilsEventListenerOption): DOMUtilsAddEventListenerResult | undefined;
|
|
338
341
|
/**
|
|
339
342
|
* 当按键按下时触发事件
|
|
340
343
|
* keydown - > keypress - > keyup
|
|
@@ -350,7 +353,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
350
353
|
* console.log("按键按下");
|
|
351
354
|
* })
|
|
352
355
|
*/
|
|
353
|
-
onKeydown(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keydown"]) => void, option?: boolean | DOMUtilsEventListenerOption):
|
|
356
|
+
onKeydown(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keydown"]) => void, option?: boolean | DOMUtilsEventListenerOption): DOMUtilsAddEventListenerResult | undefined;
|
|
354
357
|
/**
|
|
355
358
|
* 当按键按下时触发事件
|
|
356
359
|
* keydown - > keypress - > keyup
|
|
@@ -366,7 +369,7 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
366
369
|
* console.log("按键按下");
|
|
367
370
|
* })
|
|
368
371
|
*/
|
|
369
|
-
onKeypress(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keypress"]) => void, option?: boolean | DOMUtilsEventListenerOption):
|
|
372
|
+
onKeypress(element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis, handler: (this: HTMLElement, event: DOMUtils_Event["keypress"]) => void, option?: boolean | DOMUtilsEventListenerOption): DOMUtilsAddEventListenerResult | undefined;
|
|
370
373
|
/**
|
|
371
374
|
* 监听某个元素键盘按键事件或window全局按键事件
|
|
372
375
|
* 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
|
|
@@ -430,18 +433,14 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
430
433
|
搜索 170
|
|
431
434
|
收藏 171
|
|
432
435
|
**/
|
|
433
|
-
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):
|
|
434
|
-
removeListen(): void;
|
|
435
|
-
};
|
|
436
|
+
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): DOMUtilsAddEventListenerResult;
|
|
436
437
|
/**
|
|
437
438
|
* 监input、textarea的输入框值改变的事件(当输入法输入时,不会触发该监听)
|
|
438
439
|
* @param $el 输入框元素
|
|
439
440
|
* @param handler 回调函数
|
|
440
441
|
* @param option 配置
|
|
441
442
|
*/
|
|
442
|
-
onInput($el: HTMLInputElement | HTMLTextAreaElement, handler: (evt: InputEvent) => void | Promise<void>, option?: DOMUtilsEventListenerOption | boolean):
|
|
443
|
-
off: () => void;
|
|
444
|
-
};
|
|
443
|
+
onInput($el: HTMLInputElement | HTMLTextAreaElement, handler: (evt: InputEvent) => void | Promise<void>, option?: DOMUtilsEventListenerOption | boolean): DOMUtilsAddEventListenerResult;
|
|
445
444
|
/**
|
|
446
445
|
* 双击监听,适配移动端
|
|
447
446
|
* @param $el 监听的元素
|
|
@@ -463,20 +462,76 @@ declare class ElementEvent extends ElementAnimate {
|
|
|
463
462
|
};
|
|
464
463
|
/**
|
|
465
464
|
* 阻止事件传递
|
|
465
|
+
*
|
|
466
|
+
* + `.preventDefault()`: 阻止事件的默认行为发生。例如,当点击一个链接时,浏览器会默认打开链接的URL,或者在输入框内输入文字
|
|
467
|
+
* + `.stopPropagation()`: 停止事件的传播,阻止它继续向更上层的元素冒泡,事件将不会再传播给其他的元素
|
|
468
|
+
* + `.stopImmediatePropagation()`: 阻止事件传播,并且还能阻止元素上的其他事件处理程序被触发
|
|
466
469
|
* @param event 要阻止传递的事件
|
|
467
470
|
* @example
|
|
468
471
|
* DOMUtils.preventEvent(event);
|
|
469
472
|
*/
|
|
470
|
-
preventEvent(event: Event):
|
|
473
|
+
preventEvent(event: Event): false;
|
|
474
|
+
/**
|
|
475
|
+
* 阻止事件传递
|
|
476
|
+
* @param event 要阻止传递的事件
|
|
477
|
+
* @param onlyStopPropagation (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()`
|
|
478
|
+
* @example
|
|
479
|
+
* DOMUtils.preventEvent(event, true);
|
|
480
|
+
*/
|
|
481
|
+
preventEvent<T extends boolean>(event: Event, onlyStopPropagation: T): T extends true ? void : false;
|
|
471
482
|
/**
|
|
472
483
|
* 通过监听事件来主动阻止事件的传递
|
|
473
484
|
* @param $el 要进行处理的元素
|
|
474
|
-
* @param eventNameList
|
|
475
|
-
* @param
|
|
485
|
+
* @param eventNameList 要阻止的事件名|列表
|
|
486
|
+
* @param option (可选)配置项
|
|
476
487
|
* @example
|
|
477
|
-
* DOMUtils.preventEvent(document.querySelector("a"),"click")
|
|
488
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click")
|
|
489
|
+
* @example
|
|
490
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click", undefined, {
|
|
491
|
+
* capture: true,
|
|
492
|
+
* })
|
|
493
|
+
* @example
|
|
494
|
+
* DOMUtils.preventEvent(document, "click", "a.xxx", {
|
|
495
|
+
* capture: true,
|
|
496
|
+
* onlyStopPropagation: true,
|
|
497
|
+
* })
|
|
498
|
+
*/
|
|
499
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], option?: {
|
|
500
|
+
/** (可选)是否捕获,默认false */
|
|
501
|
+
capture?: boolean;
|
|
502
|
+
/** (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()` */
|
|
503
|
+
onlyStopPropagation?: boolean;
|
|
504
|
+
}): {
|
|
505
|
+
/** 移除监听事件 */
|
|
506
|
+
off(): void;
|
|
507
|
+
};
|
|
508
|
+
/**
|
|
509
|
+
* 通过监听事件来主动阻止事件的传递
|
|
510
|
+
* @param $el 要进行处理的元素
|
|
511
|
+
* @param eventNameList 要阻止的事件名|列表
|
|
512
|
+
* @param selector 子元素选择器
|
|
513
|
+
* @param option (可选)配置项
|
|
514
|
+
* @example
|
|
515
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click")
|
|
516
|
+
* @example
|
|
517
|
+
* DOMUtils.preventEvent(document.querySelector("a"), "click", undefined, {
|
|
518
|
+
* capture: true,
|
|
519
|
+
* })
|
|
520
|
+
* @example
|
|
521
|
+
* DOMUtils.preventEvent(document, "click", "a.xxx", {
|
|
522
|
+
* capture: true,
|
|
523
|
+
* onlyStopPropagation: true,
|
|
524
|
+
* })
|
|
478
525
|
*/
|
|
479
|
-
preventEvent($el: HTMLElement, eventNameList
|
|
526
|
+
preventEvent($el: HTMLElement, eventNameList: string | string[], selector: string | string[] | null | undefined, option?: {
|
|
527
|
+
/** (可选)是否捕获,默认false */
|
|
528
|
+
capture?: boolean;
|
|
529
|
+
/** (可选)是否仅阻止事件的传播,默认false,不调用`.preventDefault()` */
|
|
530
|
+
onlyStopPropagation?: boolean;
|
|
531
|
+
}): {
|
|
532
|
+
/** 移除监听事件 */
|
|
533
|
+
off(): void;
|
|
534
|
+
};
|
|
480
535
|
}
|
|
481
536
|
declare const elementEvent: ElementEvent;
|
|
482
537
|
export { elementEvent, ElementEvent };
|