@whitesev/domutils 1.5.10 → 1.6.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.
- package/dist/index.amd.js +186 -205
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +186 -205
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +186 -205
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +186 -205
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +186 -205
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +186 -205
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/DOMUtils.d.ts +6 -6
- package/dist/types/src/types/DOMUtilsEvent.d.ts +2 -1
- package/package.json +11 -8
- package/src/DOMUtils.ts +86 -257
- package/src/DOMUtilsCommonUtils.ts +1 -4
- package/src/DOMUtilsData.ts +1 -3
- package/src/DOMUtilsEvent.ts +40 -174
- package/src/types/DOMUtilsEvent.d.ts +2 -1
|
@@ -50,10 +50,7 @@ const DOMUtilsCommonUtils = {
|
|
|
50
50
|
*/
|
|
51
51
|
showElement(element: HTMLElement) {
|
|
52
52
|
let dupNode = element.cloneNode(true) as HTMLElement;
|
|
53
|
-
dupNode.setAttribute(
|
|
54
|
-
"style",
|
|
55
|
-
"visibility: hidden !important;display:block !important;"
|
|
56
|
-
);
|
|
53
|
+
dupNode.setAttribute("style", "visibility: hidden !important;display:block !important;");
|
|
57
54
|
this.windowApi.document.documentElement.appendChild(dupNode);
|
|
58
55
|
return {
|
|
59
56
|
/**
|
package/src/DOMUtilsData.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/* 数据 */
|
|
2
2
|
const DOMUtilsData = {
|
|
3
3
|
/** .on添加在元素存储的事件 */
|
|
4
|
-
SymbolEvents: Symbol(
|
|
5
|
-
"events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)
|
|
6
|
-
),
|
|
4
|
+
SymbolEvents: Symbol("events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)),
|
|
7
5
|
};
|
|
8
6
|
|
|
9
7
|
export { DOMUtilsData };
|
package/src/DOMUtilsEvent.ts
CHANGED
|
@@ -93,11 +93,7 @@ export class DOMUtilsEvent {
|
|
|
93
93
|
element: DOMUtilsElementEventType,
|
|
94
94
|
eventType: T | T[],
|
|
95
95
|
selector: string | string[] | undefined | null,
|
|
96
|
-
callback: (
|
|
97
|
-
this: HTMLElement,
|
|
98
|
-
event: DOMUtils_Event[T],
|
|
99
|
-
selectorTarget: HTMLElement
|
|
100
|
-
) => void,
|
|
96
|
+
callback: (this: HTMLElement, event: DOMUtils_Event[T], selectorTarget: HTMLElement) => void,
|
|
101
97
|
option?: DOMUtilsEventListenerOption | boolean
|
|
102
98
|
): void;
|
|
103
99
|
/**
|
|
@@ -128,11 +124,7 @@ export class DOMUtilsEvent {
|
|
|
128
124
|
element: DOMUtilsElementEventType,
|
|
129
125
|
eventType: string | string[],
|
|
130
126
|
selector: string | string[] | undefined | null,
|
|
131
|
-
callback: (
|
|
132
|
-
this: HTMLElement,
|
|
133
|
-
event: T,
|
|
134
|
-
selectorTarget: HTMLElement
|
|
135
|
-
) => void,
|
|
127
|
+
callback: (this: HTMLElement, event: T, selectorTarget: HTMLElement) => void,
|
|
136
128
|
option?: DOMUtilsEventListenerOption | boolean
|
|
137
129
|
): void;
|
|
138
130
|
on<T extends Event>(
|
|
@@ -165,11 +157,7 @@ export class DOMUtilsEvent {
|
|
|
165
157
|
* @param startIndex
|
|
166
158
|
* @param option
|
|
167
159
|
*/
|
|
168
|
-
function getOption(
|
|
169
|
-
args: IArguments,
|
|
170
|
-
startIndex: number,
|
|
171
|
-
option: DOMUtilsEventListenerOption
|
|
172
|
-
) {
|
|
160
|
+
function getOption(args: IArguments, startIndex: number, option: DOMUtilsEventListenerOption) {
|
|
173
161
|
let currentParam = args[startIndex];
|
|
174
162
|
if (typeof currentParam === "boolean") {
|
|
175
163
|
option.capture = currentParam;
|
|
@@ -214,8 +202,7 @@ export class DOMUtilsEvent {
|
|
|
214
202
|
if (Array.isArray(eventType)) {
|
|
215
203
|
eventTypeList = eventTypeList.concat(
|
|
216
204
|
eventType.filter(
|
|
217
|
-
(eventTypeItem) =>
|
|
218
|
-
typeof eventTypeItem === "string" && eventTypeItem.toString() !== ""
|
|
205
|
+
(eventTypeItem) => typeof eventTypeItem === "string" && eventTypeItem.toString() !== ""
|
|
219
206
|
)
|
|
220
207
|
);
|
|
221
208
|
} else if (typeof eventType === "string") {
|
|
@@ -227,20 +214,14 @@ export class DOMUtilsEvent {
|
|
|
227
214
|
let selectorList: string[] = [];
|
|
228
215
|
if (Array.isArray(selector)) {
|
|
229
216
|
selectorList = selectorList.concat(
|
|
230
|
-
selector.filter(
|
|
231
|
-
(selectorItem) =>
|
|
232
|
-
typeof selectorItem === "string" && selectorItem.toString() !== ""
|
|
233
|
-
)
|
|
217
|
+
selector.filter((selectorItem) => typeof selectorItem === "string" && selectorItem.toString() !== "")
|
|
234
218
|
);
|
|
235
219
|
} else if (typeof selector === "string") {
|
|
236
220
|
selectorList.push(selector);
|
|
237
221
|
}
|
|
238
222
|
// 事件回调
|
|
239
|
-
let listenerCallBack: (
|
|
240
|
-
|
|
241
|
-
event: Event,
|
|
242
|
-
selectorTarget?: HTMLElement
|
|
243
|
-
) => void = callback as any;
|
|
223
|
+
let listenerCallBack: (this: HTMLElement, event: Event, selectorTarget?: HTMLElement) => void =
|
|
224
|
+
callback as any;
|
|
244
225
|
// 事件配置
|
|
245
226
|
let listenerOption: DOMUtilsEventListenerOption = {
|
|
246
227
|
capture: false,
|
|
@@ -262,13 +243,7 @@ export class DOMUtilsEvent {
|
|
|
262
243
|
*/
|
|
263
244
|
function checkOptionOnceToRemoveEventListener() {
|
|
264
245
|
if (listenerOption.once) {
|
|
265
|
-
DOMUtilsContext.off(
|
|
266
|
-
element,
|
|
267
|
-
eventType as any,
|
|
268
|
-
selector as any,
|
|
269
|
-
callback as any,
|
|
270
|
-
option
|
|
271
|
-
);
|
|
246
|
+
DOMUtilsContext.off(element, eventType as any, selector as any, callback as any, option);
|
|
272
247
|
}
|
|
273
248
|
}
|
|
274
249
|
elementList.forEach((elementItem) => {
|
|
@@ -285,10 +260,7 @@ export class DOMUtilsEvent {
|
|
|
285
260
|
: (event.target as HTMLElement);
|
|
286
261
|
let totalParent = elementItem;
|
|
287
262
|
if (DOMUtilsCommonUtils.isWin(totalParent)) {
|
|
288
|
-
if (
|
|
289
|
-
totalParent ===
|
|
290
|
-
(DOMUtilsContext.windowApi.document as any as HTMLElement)
|
|
291
|
-
) {
|
|
263
|
+
if (totalParent === (DOMUtilsContext.windowApi.document as any as HTMLElement)) {
|
|
292
264
|
totalParent = DOMUtilsContext.windowApi.document.documentElement;
|
|
293
265
|
}
|
|
294
266
|
}
|
|
@@ -299,10 +271,7 @@ export class DOMUtilsEvent {
|
|
|
299
271
|
return true;
|
|
300
272
|
}
|
|
301
273
|
/* 在上层与主元素之间寻找可以被selector所匹配到的 */
|
|
302
|
-
let $closestMatches = DOMUtilsContext.closest<HTMLElement>(
|
|
303
|
-
eventTarget,
|
|
304
|
-
selectorItem
|
|
305
|
-
);
|
|
274
|
+
let $closestMatches = DOMUtilsContext.closest<HTMLElement>(eventTarget, selectorItem);
|
|
306
275
|
if ($closestMatches && totalParent?.contains($closestMatches)) {
|
|
307
276
|
eventTarget = $closestMatches;
|
|
308
277
|
return true;
|
|
@@ -330,11 +299,7 @@ export class DOMUtilsEvent {
|
|
|
330
299
|
|
|
331
300
|
/* 遍历事件名设置元素事件 */
|
|
332
301
|
eventTypeList.forEach((eventName) => {
|
|
333
|
-
elementItem.addEventListener(
|
|
334
|
-
eventName,
|
|
335
|
-
domUtilsEventCallBack,
|
|
336
|
-
listenerOption
|
|
337
|
-
);
|
|
302
|
+
elementItem.addEventListener(eventName, domUtilsEventCallBack, listenerOption);
|
|
338
303
|
/* 获取对象上的事件 */
|
|
339
304
|
let elementEvents: {
|
|
340
305
|
[k: string]: DOMUtilsEventListenerOptionsAttribute[];
|
|
@@ -418,11 +383,7 @@ export class DOMUtilsEvent {
|
|
|
418
383
|
element: DOMUtilsElementEventType,
|
|
419
384
|
eventType: T | T[],
|
|
420
385
|
selector?: string | string[] | undefined | null,
|
|
421
|
-
callback?: (
|
|
422
|
-
this: HTMLElement,
|
|
423
|
-
event: DOMUtils_Event[T],
|
|
424
|
-
selectorTarget: HTMLElement
|
|
425
|
-
) => void,
|
|
386
|
+
callback?: (this: HTMLElement, event: DOMUtils_Event[T], selectorTarget: HTMLElement) => void,
|
|
426
387
|
option?: EventListenerOptions | boolean,
|
|
427
388
|
filter?: (
|
|
428
389
|
value: DOMUtilsEventListenerOptionsAttribute,
|
|
@@ -448,11 +409,7 @@ export class DOMUtilsEvent {
|
|
|
448
409
|
element: DOMUtilsElementEventType,
|
|
449
410
|
eventType: string | string[],
|
|
450
411
|
selector?: string | string[] | undefined | null,
|
|
451
|
-
callback?: (
|
|
452
|
-
this: HTMLElement,
|
|
453
|
-
event: T,
|
|
454
|
-
selectorTarget: HTMLElement
|
|
455
|
-
) => void,
|
|
412
|
+
callback?: (this: HTMLElement, event: T, selectorTarget: HTMLElement) => void,
|
|
456
413
|
option?: EventListenerOptions | boolean,
|
|
457
414
|
filter?: (
|
|
458
415
|
value: DOMUtilsEventListenerOptionsAttribute,
|
|
@@ -502,18 +459,11 @@ export class DOMUtilsEvent {
|
|
|
502
459
|
* @param startIndex
|
|
503
460
|
* @param option
|
|
504
461
|
*/
|
|
505
|
-
function getOption(
|
|
506
|
-
args1: IArguments,
|
|
507
|
-
startIndex: number,
|
|
508
|
-
option: EventListenerOptions
|
|
509
|
-
) {
|
|
462
|
+
function getOption(args1: IArguments, startIndex: number, option: EventListenerOptions) {
|
|
510
463
|
let currentParam: EventListenerOptions | boolean = args1[startIndex];
|
|
511
464
|
if (typeof currentParam === "boolean") {
|
|
512
465
|
option.capture = currentParam;
|
|
513
|
-
} else if (
|
|
514
|
-
typeof currentParam === "object" &&
|
|
515
|
-
"capture" in currentParam
|
|
516
|
-
) {
|
|
466
|
+
} else if (typeof currentParam === "object" && "capture" in currentParam) {
|
|
517
467
|
option.capture = currentParam.capture;
|
|
518
468
|
}
|
|
519
469
|
return option;
|
|
@@ -537,8 +487,7 @@ export class DOMUtilsEvent {
|
|
|
537
487
|
if (Array.isArray(eventType)) {
|
|
538
488
|
eventTypeList = eventTypeList.concat(
|
|
539
489
|
eventType.filter(
|
|
540
|
-
(eventTypeItem) =>
|
|
541
|
-
typeof eventTypeItem === "string" && eventTypeItem.toString() !== ""
|
|
490
|
+
(eventTypeItem) => typeof eventTypeItem === "string" && eventTypeItem.toString() !== ""
|
|
542
491
|
)
|
|
543
492
|
);
|
|
544
493
|
} else if (typeof eventType === "string") {
|
|
@@ -550,10 +499,7 @@ export class DOMUtilsEvent {
|
|
|
550
499
|
let selectorList: string[] = [];
|
|
551
500
|
if (Array.isArray(selector)) {
|
|
552
501
|
selectorList = selectorList.concat(
|
|
553
|
-
selector.filter(
|
|
554
|
-
(selectorItem) =>
|
|
555
|
-
typeof selectorItem === "string" && selectorItem.toString() !== ""
|
|
556
|
-
)
|
|
502
|
+
selector.filter((selectorItem) => typeof selectorItem === "string" && selectorItem.toString() !== "")
|
|
557
503
|
);
|
|
558
504
|
} else if (typeof selector === "string") {
|
|
559
505
|
selectorList.push(selector);
|
|
@@ -561,11 +507,8 @@ export class DOMUtilsEvent {
|
|
|
561
507
|
/**
|
|
562
508
|
* 事件的回调函数
|
|
563
509
|
*/
|
|
564
|
-
let listenerCallBack: (
|
|
565
|
-
|
|
566
|
-
event: T,
|
|
567
|
-
selectorTarget: HTMLElement
|
|
568
|
-
) => void = callback as any;
|
|
510
|
+
let listenerCallBack: (this: HTMLElement, event: T, selectorTarget: HTMLElement) => void =
|
|
511
|
+
callback as any;
|
|
569
512
|
|
|
570
513
|
/**
|
|
571
514
|
* 事件的配置
|
|
@@ -587,10 +530,7 @@ export class DOMUtilsEvent {
|
|
|
587
530
|
if (args.length === 2) {
|
|
588
531
|
// 目标函数、事件名
|
|
589
532
|
isRemoveAll = true;
|
|
590
|
-
} else if (
|
|
591
|
-
(args.length === 3 && typeof args[2] === "string") ||
|
|
592
|
-
Array.isArray(args[2])
|
|
593
|
-
) {
|
|
533
|
+
} else if ((args.length === 3 && typeof args[2] === "string") || Array.isArray(args[2])) {
|
|
594
534
|
// 目标函数、事件名、子元素选择器
|
|
595
535
|
isRemoveAll = true;
|
|
596
536
|
}
|
|
@@ -607,18 +547,12 @@ export class DOMUtilsEvent {
|
|
|
607
547
|
for (let index = 0; index < handlers.length; index++) {
|
|
608
548
|
let handler = handlers[index];
|
|
609
549
|
let flag = true;
|
|
610
|
-
if (
|
|
611
|
-
flag &&
|
|
612
|
-
listenerCallBack &&
|
|
613
|
-
handler.originCallBack !== listenerCallBack
|
|
614
|
-
) {
|
|
550
|
+
if (flag && listenerCallBack && handler.originCallBack !== listenerCallBack) {
|
|
615
551
|
// callback不同
|
|
616
552
|
flag = false;
|
|
617
553
|
}
|
|
618
554
|
if (flag && selectorList.length && Array.isArray(handler.selector)) {
|
|
619
|
-
if (
|
|
620
|
-
JSON.stringify(handler.selector) !== JSON.stringify(selectorList)
|
|
621
|
-
) {
|
|
555
|
+
if (JSON.stringify(handler.selector) !== JSON.stringify(selectorList)) {
|
|
622
556
|
// 子元素选择器不同
|
|
623
557
|
flag = false;
|
|
624
558
|
}
|
|
@@ -628,11 +562,7 @@ export class DOMUtilsEvent {
|
|
|
628
562
|
flag = false;
|
|
629
563
|
}
|
|
630
564
|
if (flag || isRemoveAll) {
|
|
631
|
-
elementItem.removeEventListener(
|
|
632
|
-
eventName,
|
|
633
|
-
handler.callback,
|
|
634
|
-
handler.option
|
|
635
|
-
);
|
|
565
|
+
elementItem.removeEventListener(eventName, handler.callback, handler.option);
|
|
636
566
|
handlers.splice(index--, 1);
|
|
637
567
|
}
|
|
638
568
|
}
|
|
@@ -655,19 +585,13 @@ export class DOMUtilsEvent {
|
|
|
655
585
|
* @param element 需要取消绑定的元素|元素数组
|
|
656
586
|
* @param eventType (可选)需要取消监听的事件
|
|
657
587
|
*/
|
|
658
|
-
offAll(
|
|
659
|
-
element: DOMUtilsElementEventType,
|
|
660
|
-
eventType?: DOMUtils_EventType | DOMUtils_EventType[]
|
|
661
|
-
): void;
|
|
588
|
+
offAll(element: DOMUtilsElementEventType, eventType?: DOMUtils_EventType | DOMUtils_EventType[]): void;
|
|
662
589
|
/**
|
|
663
590
|
* 取消绑定所有的事件
|
|
664
591
|
* @param element 需要取消绑定的元素|元素数组
|
|
665
592
|
* @param eventType (可选)需要取消监听的事件
|
|
666
593
|
*/
|
|
667
|
-
offAll(
|
|
668
|
-
element: DOMUtilsElementEventType,
|
|
669
|
-
eventType?: DOMUtils_EventType | DOMUtils_EventType[] | string
|
|
670
|
-
) {
|
|
594
|
+
offAll(element: DOMUtilsElementEventType, eventType?: DOMUtils_EventType | DOMUtils_EventType[] | string) {
|
|
671
595
|
let DOMUtilsContext = this;
|
|
672
596
|
if (typeof element === "string") {
|
|
673
597
|
element = DOMUtilsContext.selectorAll(element);
|
|
@@ -694,12 +618,9 @@ export class DOMUtilsEvent {
|
|
|
694
618
|
return;
|
|
695
619
|
}
|
|
696
620
|
let elementEvents = (elementItem as any)[symbolEvents] || {};
|
|
697
|
-
let iterEventNameList = eventTypeList.length
|
|
698
|
-
? eventTypeList
|
|
699
|
-
: Object.keys(elementEvents);
|
|
621
|
+
let iterEventNameList = eventTypeList.length ? eventTypeList : Object.keys(elementEvents);
|
|
700
622
|
iterEventNameList.forEach((eventName) => {
|
|
701
|
-
let handlers: DOMUtilsEventListenerOptionsAttribute[] =
|
|
702
|
-
elementEvents[eventName];
|
|
623
|
+
let handlers: DOMUtilsEventListenerOptionsAttribute[] = elementEvents[eventName];
|
|
703
624
|
if (!handlers) {
|
|
704
625
|
return;
|
|
705
626
|
}
|
|
@@ -736,8 +657,7 @@ export class DOMUtilsEvent {
|
|
|
736
657
|
if (
|
|
737
658
|
DOMUtilsContext.windowApi.document.readyState === "complete" ||
|
|
738
659
|
(DOMUtilsContext.windowApi.document.readyState !== "loading" &&
|
|
739
|
-
!(DOMUtilsContext.windowApi.document.documentElement as any)
|
|
740
|
-
.doScroll)
|
|
660
|
+
!(DOMUtilsContext.windowApi.document.documentElement as any).doScroll)
|
|
741
661
|
) {
|
|
742
662
|
return true;
|
|
743
663
|
} else {
|
|
@@ -808,12 +728,7 @@ export class DOMUtilsEvent {
|
|
|
808
728
|
* DOMUtils.trigger("a.xx",["click","tap","hover"])
|
|
809
729
|
*/
|
|
810
730
|
trigger(
|
|
811
|
-
element:
|
|
812
|
-
| DOMUtilsTargetElementType
|
|
813
|
-
| any[]
|
|
814
|
-
| typeof globalThis
|
|
815
|
-
| Window
|
|
816
|
-
| Document,
|
|
731
|
+
element: DOMUtilsTargetElementType | any[] | typeof globalThis | Window | Document,
|
|
817
732
|
eventType: string,
|
|
818
733
|
details?: object,
|
|
819
734
|
useDispatchToTriggerEvent?: boolean
|
|
@@ -935,22 +850,12 @@ export class DOMUtilsEvent {
|
|
|
935
850
|
if (DOMUtilsCommonUtils.isNodeList(element)) {
|
|
936
851
|
// 设置
|
|
937
852
|
element.forEach(($ele) => {
|
|
938
|
-
DOMUtilsContext.click(
|
|
939
|
-
$ele as HTMLElement,
|
|
940
|
-
handler,
|
|
941
|
-
details,
|
|
942
|
-
useDispatchToTriggerEvent
|
|
943
|
-
);
|
|
853
|
+
DOMUtilsContext.click($ele as HTMLElement, handler, details, useDispatchToTriggerEvent);
|
|
944
854
|
});
|
|
945
855
|
return;
|
|
946
856
|
}
|
|
947
857
|
if (handler == null) {
|
|
948
|
-
DOMUtilsContext.trigger(
|
|
949
|
-
element,
|
|
950
|
-
"click",
|
|
951
|
-
details,
|
|
952
|
-
useDispatchToTriggerEvent
|
|
953
|
-
);
|
|
858
|
+
DOMUtilsContext.trigger(element, "click", details, useDispatchToTriggerEvent);
|
|
954
859
|
} else {
|
|
955
860
|
DOMUtilsContext.on(element, "click", null, handler);
|
|
956
861
|
}
|
|
@@ -985,29 +890,14 @@ export class DOMUtilsEvent {
|
|
|
985
890
|
if (DOMUtilsCommonUtils.isNodeList(element)) {
|
|
986
891
|
// 设置
|
|
987
892
|
element.forEach(($ele) => {
|
|
988
|
-
DOMUtilsContext.focus(
|
|
989
|
-
$ele as HTMLElement,
|
|
990
|
-
handler,
|
|
991
|
-
details,
|
|
992
|
-
useDispatchToTriggerEvent
|
|
993
|
-
);
|
|
893
|
+
DOMUtilsContext.focus($ele as HTMLElement, handler, details, useDispatchToTriggerEvent);
|
|
994
894
|
});
|
|
995
895
|
return;
|
|
996
896
|
}
|
|
997
897
|
if (handler === null) {
|
|
998
|
-
DOMUtilsContext.trigger(
|
|
999
|
-
element,
|
|
1000
|
-
"blur",
|
|
1001
|
-
details,
|
|
1002
|
-
useDispatchToTriggerEvent
|
|
1003
|
-
);
|
|
898
|
+
DOMUtilsContext.trigger(element, "blur", details, useDispatchToTriggerEvent);
|
|
1004
899
|
} else {
|
|
1005
|
-
DOMUtilsContext.on(
|
|
1006
|
-
element,
|
|
1007
|
-
"blur",
|
|
1008
|
-
null,
|
|
1009
|
-
handler as (event: Event) => void
|
|
1010
|
-
);
|
|
900
|
+
DOMUtilsContext.on(element, "blur", null, handler as (event: Event) => void);
|
|
1011
901
|
}
|
|
1012
902
|
}
|
|
1013
903
|
/**
|
|
@@ -1040,22 +930,12 @@ export class DOMUtilsEvent {
|
|
|
1040
930
|
if (DOMUtilsCommonUtils.isNodeList(element)) {
|
|
1041
931
|
// 设置
|
|
1042
932
|
element.forEach(($ele) => {
|
|
1043
|
-
DOMUtilsContext.focus(
|
|
1044
|
-
$ele as HTMLElement,
|
|
1045
|
-
handler,
|
|
1046
|
-
details,
|
|
1047
|
-
useDispatchToTriggerEvent
|
|
1048
|
-
);
|
|
933
|
+
DOMUtilsContext.focus($ele as HTMLElement, handler, details, useDispatchToTriggerEvent);
|
|
1049
934
|
});
|
|
1050
935
|
return;
|
|
1051
936
|
}
|
|
1052
937
|
if (handler == null) {
|
|
1053
|
-
DOMUtilsContext.trigger(
|
|
1054
|
-
element,
|
|
1055
|
-
"focus",
|
|
1056
|
-
details,
|
|
1057
|
-
useDispatchToTriggerEvent
|
|
1058
|
-
);
|
|
938
|
+
DOMUtilsContext.trigger(element, "focus", details, useDispatchToTriggerEvent);
|
|
1059
939
|
} else {
|
|
1060
940
|
DOMUtilsContext.on(element, "focus", null, handler);
|
|
1061
941
|
}
|
|
@@ -1271,12 +1151,7 @@ export class DOMUtilsEvent {
|
|
|
1271
1151
|
listenKeyboard(
|
|
1272
1152
|
element: DOMUtilsTargetElementType | Window | Node | typeof globalThis,
|
|
1273
1153
|
eventName: "keyup" | "keypress" | "keydown" = "keypress",
|
|
1274
|
-
callback: (
|
|
1275
|
-
keyName: string,
|
|
1276
|
-
keyValue: number,
|
|
1277
|
-
otherCodeList: string[],
|
|
1278
|
-
event: KeyboardEvent
|
|
1279
|
-
) => void,
|
|
1154
|
+
callback: (keyName: string, keyValue: number, otherCodeList: string[], event: KeyboardEvent) => void,
|
|
1280
1155
|
options?: DOMUtilsEventListenerOption | boolean
|
|
1281
1156
|
): {
|
|
1282
1157
|
removeListen(): void;
|
|
@@ -1446,10 +1321,7 @@ export class DOMUtilsEvent {
|
|
|
1446
1321
|
* DOMUtils.matches("div:regexp(/^xxx/ig)")
|
|
1447
1322
|
* > false
|
|
1448
1323
|
*/
|
|
1449
|
-
matches(
|
|
1450
|
-
$el: HTMLElement | Element | null | undefined,
|
|
1451
|
-
selector: string
|
|
1452
|
-
): boolean {
|
|
1324
|
+
matches($el: HTMLElement | Element | null | undefined, selector: string): boolean {
|
|
1453
1325
|
selector = selector.trim();
|
|
1454
1326
|
if ($el == null) {
|
|
1455
1327
|
return false;
|
|
@@ -1524,14 +1396,8 @@ export class DOMUtilsEvent {
|
|
|
1524
1396
|
$el: HTMLElement | Element,
|
|
1525
1397
|
selector: string
|
|
1526
1398
|
): HTMLElementTagNameMap[K] | null;
|
|
1527
|
-
closest<E extends Element = Element>(
|
|
1528
|
-
|
|
1529
|
-
selector: string
|
|
1530
|
-
): E | null;
|
|
1531
|
-
closest<E extends Element = Element>(
|
|
1532
|
-
$el: HTMLElement | Element,
|
|
1533
|
-
selector: string
|
|
1534
|
-
): E | null {
|
|
1399
|
+
closest<E extends Element = Element>($el: HTMLElement | Element, selector: string): E | null;
|
|
1400
|
+
closest<E extends Element = Element>($el: HTMLElement | Element, selector: string): E | null {
|
|
1535
1401
|
selector = selector.trim();
|
|
1536
1402
|
|
|
1537
1403
|
if (selector.match(/[^\s]{1}:empty$/gi)) {
|