@whitesev/domutils 1.2.0 → 1.3.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 +155 -115
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +155 -115
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +155 -115
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +155 -115
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +155 -115
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +155 -115
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/DOMUtils.d.ts +3 -3
- package/dist/types/src/DOMUtilsCommonUtils.d.ts +2 -0
- package/dist/types/src/DOMUtilsEvent.d.ts +4 -2
- package/dist/types/src/WindowApi.d.ts +22 -0
- package/package.json +1 -1
- package/src/DOMUtils.ts +152 -66
- package/src/DOMUtilsCommonUtils.ts +9 -5
- package/src/DOMUtilsEvent.ts +44 -22
- package/src/WindowApi.ts +44 -0
- package/dist/types/src/DOMUtilsCore.d.ts +0 -15
- package/src/DOMUtilsCore.ts +0 -45
package/dist/index.iife.js
CHANGED
|
@@ -1,43 +1,12 @@
|
|
|
1
1
|
var DOMUtils = (function () {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
const DOMUtilsCoreDefaultEnv = {
|
|
5
|
-
document: document,
|
|
6
|
-
window: window,
|
|
7
|
-
globalThis: globalThis,
|
|
8
|
-
self: self,
|
|
9
|
-
top: top,
|
|
10
|
-
};
|
|
11
|
-
const DOMUtilsCoreEnv = {
|
|
12
|
-
document: document,
|
|
13
|
-
window: window,
|
|
14
|
-
globalThis: globalThis,
|
|
15
|
-
self: self,
|
|
16
|
-
top: top,
|
|
17
|
-
};
|
|
18
|
-
const DOMUtilsCore = {
|
|
19
|
-
init(option) {
|
|
20
|
-
if (!option) {
|
|
21
|
-
option = Object.assign({}, DOMUtilsCoreDefaultEnv);
|
|
22
|
-
}
|
|
23
|
-
Object.assign(DOMUtilsCoreEnv, option);
|
|
24
|
-
},
|
|
25
|
-
get document() {
|
|
26
|
-
return DOMUtilsCoreEnv.document;
|
|
27
|
-
},
|
|
28
|
-
get window() {
|
|
29
|
-
return DOMUtilsCoreEnv.window;
|
|
30
|
-
},
|
|
31
|
-
get globalThis() {
|
|
32
|
-
return DOMUtilsCoreEnv.globalThis;
|
|
33
|
-
},
|
|
34
|
-
get self() {
|
|
35
|
-
return DOMUtilsCoreEnv.self;
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
|
|
39
4
|
/** 通用工具类 */
|
|
40
5
|
const DOMUtilsCommonUtils = {
|
|
6
|
+
windowApi: {
|
|
7
|
+
window: window,
|
|
8
|
+
document: document,
|
|
9
|
+
},
|
|
41
10
|
/**
|
|
42
11
|
* 判断元素是否已显示或已连接
|
|
43
12
|
* @param element
|
|
@@ -52,7 +21,7 @@ var DOMUtils = (function () {
|
|
|
52
21
|
showElement(element) {
|
|
53
22
|
let dupNode = element.cloneNode(true);
|
|
54
23
|
dupNode.setAttribute("style", "visibility: hidden !important;display:block !important;");
|
|
55
|
-
|
|
24
|
+
this.windowApi.document.documentElement.appendChild(dupNode);
|
|
56
25
|
return {
|
|
57
26
|
/**
|
|
58
27
|
* 恢复修改的style
|
|
@@ -109,13 +78,13 @@ var DOMUtils = (function () {
|
|
|
109
78
|
if (target === self) {
|
|
110
79
|
return true;
|
|
111
80
|
}
|
|
112
|
-
if (target ===
|
|
81
|
+
if (target === globalThis) {
|
|
113
82
|
return true;
|
|
114
83
|
}
|
|
115
|
-
if (target ===
|
|
84
|
+
if (target === window) {
|
|
116
85
|
return true;
|
|
117
86
|
}
|
|
118
|
-
if (target ===
|
|
87
|
+
if (target === self) {
|
|
119
88
|
return true;
|
|
120
89
|
}
|
|
121
90
|
if (typeof unsafeWindow !== "undefined" && target === unsafeWindow) {
|
|
@@ -153,7 +122,45 @@ var DOMUtils = (function () {
|
|
|
153
122
|
},
|
|
154
123
|
};
|
|
155
124
|
|
|
125
|
+
class WindowApi {
|
|
126
|
+
/** 默认的配置 */
|
|
127
|
+
defaultApi = {
|
|
128
|
+
document: document,
|
|
129
|
+
window: window,
|
|
130
|
+
globalThis: globalThis,
|
|
131
|
+
self: self,
|
|
132
|
+
top: top,
|
|
133
|
+
};
|
|
134
|
+
/** 使用的配置 */
|
|
135
|
+
api;
|
|
136
|
+
constructor(option) {
|
|
137
|
+
if (!option) {
|
|
138
|
+
option = Object.assign({}, this.defaultApi);
|
|
139
|
+
}
|
|
140
|
+
this.api = Object.assign({}, option);
|
|
141
|
+
}
|
|
142
|
+
get document() {
|
|
143
|
+
return this.api.document;
|
|
144
|
+
}
|
|
145
|
+
get window() {
|
|
146
|
+
return this.api.window;
|
|
147
|
+
}
|
|
148
|
+
get globalThis() {
|
|
149
|
+
return this.api.globalThis;
|
|
150
|
+
}
|
|
151
|
+
get self() {
|
|
152
|
+
return this.api.self;
|
|
153
|
+
}
|
|
154
|
+
get top() {
|
|
155
|
+
return this.api.top;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
156
159
|
class DOMUtilsEvent {
|
|
160
|
+
windowApi;
|
|
161
|
+
constructor(windowApiOption) {
|
|
162
|
+
this.windowApi = new WindowApi(windowApiOption);
|
|
163
|
+
}
|
|
157
164
|
on(element, eventType, selector, callback, option) {
|
|
158
165
|
/**
|
|
159
166
|
* 获取option配置
|
|
@@ -184,7 +191,7 @@ var DOMUtils = (function () {
|
|
|
184
191
|
let DOMUtilsContext = this;
|
|
185
192
|
let args = arguments;
|
|
186
193
|
if (typeof element === "string") {
|
|
187
|
-
element =
|
|
194
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
188
195
|
}
|
|
189
196
|
if (element == null) {
|
|
190
197
|
return;
|
|
@@ -235,7 +242,7 @@ var DOMUtils = (function () {
|
|
|
235
242
|
if (_selector_) {
|
|
236
243
|
/* 存在自定义子元素选择器 */
|
|
237
244
|
let totalParent = DOMUtilsCommonUtils.isWin(elementItem)
|
|
238
|
-
?
|
|
245
|
+
? DOMUtilsContext.windowApi.document.documentElement
|
|
239
246
|
: elementItem;
|
|
240
247
|
if (target.matches(_selector_)) {
|
|
241
248
|
/* 当前目标可以被selector所匹配到 */
|
|
@@ -299,9 +306,10 @@ var DOMUtils = (function () {
|
|
|
299
306
|
}
|
|
300
307
|
return option;
|
|
301
308
|
}
|
|
309
|
+
let DOMUtilsContext = this;
|
|
302
310
|
let args = arguments;
|
|
303
311
|
if (typeof element === "string") {
|
|
304
|
-
element =
|
|
312
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
305
313
|
}
|
|
306
314
|
if (element == null) {
|
|
307
315
|
return;
|
|
@@ -384,8 +392,9 @@ var DOMUtils = (function () {
|
|
|
384
392
|
* @param eventType (可选)需要取消监听的事件
|
|
385
393
|
*/
|
|
386
394
|
offAll(element, eventType) {
|
|
395
|
+
let DOMUtilsContext = this;
|
|
387
396
|
if (typeof element === "string") {
|
|
388
|
-
element =
|
|
397
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
389
398
|
}
|
|
390
399
|
if (element == null) {
|
|
391
400
|
return;
|
|
@@ -440,14 +449,16 @@ var DOMUtils = (function () {
|
|
|
440
449
|
if (typeof callback !== "function") {
|
|
441
450
|
return;
|
|
442
451
|
}
|
|
452
|
+
let DOMUtilsContext = this;
|
|
443
453
|
/**
|
|
444
454
|
* 检测文档是否加载完毕
|
|
445
455
|
*/
|
|
446
456
|
function checkDOMReadyState() {
|
|
447
457
|
try {
|
|
448
|
-
if (
|
|
449
|
-
(
|
|
450
|
-
!
|
|
458
|
+
if (DOMUtilsContext.windowApi.document.readyState === "complete" ||
|
|
459
|
+
(DOMUtilsContext.windowApi.document.readyState !== "loading" &&
|
|
460
|
+
!DOMUtilsContext.windowApi.document.documentElement
|
|
461
|
+
.doScroll)) {
|
|
451
462
|
return true;
|
|
452
463
|
}
|
|
453
464
|
else {
|
|
@@ -467,12 +478,12 @@ var DOMUtils = (function () {
|
|
|
467
478
|
}
|
|
468
479
|
let targetList = [
|
|
469
480
|
{
|
|
470
|
-
target:
|
|
481
|
+
target: DOMUtilsContext.windowApi.document,
|
|
471
482
|
eventType: "DOMContentLoaded",
|
|
472
483
|
callback: completed,
|
|
473
484
|
},
|
|
474
485
|
{
|
|
475
|
-
target:
|
|
486
|
+
target: DOMUtilsContext.windowApi.window,
|
|
476
487
|
eventType: "load",
|
|
477
488
|
callback: completed,
|
|
478
489
|
},
|
|
@@ -519,8 +530,9 @@ var DOMUtils = (function () {
|
|
|
519
530
|
* DOMUtils.trigger("a.xx",["click","tap","hover"])
|
|
520
531
|
*/
|
|
521
532
|
trigger(element, eventType, details, useDispatchToTriggerEvent = true) {
|
|
533
|
+
let DOMUtilsContext = this;
|
|
522
534
|
if (typeof element === "string") {
|
|
523
|
-
element =
|
|
535
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
524
536
|
}
|
|
525
537
|
if (element == null) {
|
|
526
538
|
return;
|
|
@@ -584,7 +596,7 @@ var DOMUtils = (function () {
|
|
|
584
596
|
click(element, handler, details, useDispatchToTriggerEvent) {
|
|
585
597
|
let DOMUtilsContext = this;
|
|
586
598
|
if (typeof element === "string") {
|
|
587
|
-
element =
|
|
599
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
588
600
|
}
|
|
589
601
|
if (element == null) {
|
|
590
602
|
return;
|
|
@@ -613,7 +625,7 @@ var DOMUtils = (function () {
|
|
|
613
625
|
blur(element, handler, details, useDispatchToTriggerEvent) {
|
|
614
626
|
let DOMUtilsContext = this;
|
|
615
627
|
if (typeof element === "string") {
|
|
616
|
-
element =
|
|
628
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
617
629
|
}
|
|
618
630
|
if (element == null) {
|
|
619
631
|
return;
|
|
@@ -642,7 +654,7 @@ var DOMUtils = (function () {
|
|
|
642
654
|
focus(element, handler, details, useDispatchToTriggerEvent) {
|
|
643
655
|
let DOMUtilsContext = this;
|
|
644
656
|
if (typeof element === "string") {
|
|
645
|
-
element =
|
|
657
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
646
658
|
}
|
|
647
659
|
if (element == null) {
|
|
648
660
|
return;
|
|
@@ -671,7 +683,7 @@ var DOMUtils = (function () {
|
|
|
671
683
|
hover(element, handler, option) {
|
|
672
684
|
let DOMUtilsContext = this;
|
|
673
685
|
if (typeof element === "string") {
|
|
674
|
-
element =
|
|
686
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
675
687
|
}
|
|
676
688
|
if (element == null) {
|
|
677
689
|
return;
|
|
@@ -700,7 +712,7 @@ var DOMUtils = (function () {
|
|
|
700
712
|
return;
|
|
701
713
|
}
|
|
702
714
|
if (typeof target === "string") {
|
|
703
|
-
target =
|
|
715
|
+
target = DOMUtilsContext.windowApi.document.querySelector(target);
|
|
704
716
|
}
|
|
705
717
|
DOMUtilsContext.on(target, "keyup", null, handler, option);
|
|
706
718
|
}
|
|
@@ -725,7 +737,7 @@ var DOMUtils = (function () {
|
|
|
725
737
|
return;
|
|
726
738
|
}
|
|
727
739
|
if (typeof target === "string") {
|
|
728
|
-
target =
|
|
740
|
+
target = DOMUtilsContext.windowApi.document.querySelector(target);
|
|
729
741
|
}
|
|
730
742
|
DOMUtilsContext.on(target, "keydown", null, handler, option);
|
|
731
743
|
}
|
|
@@ -750,7 +762,7 @@ var DOMUtils = (function () {
|
|
|
750
762
|
return;
|
|
751
763
|
}
|
|
752
764
|
if (typeof target === "string") {
|
|
753
|
-
target =
|
|
765
|
+
target = DOMUtilsContext.windowApi.document.querySelector(target);
|
|
754
766
|
}
|
|
755
767
|
DOMUtilsContext.on(target, "keypress", null, handler, option);
|
|
756
768
|
}
|
|
@@ -758,14 +770,14 @@ var DOMUtils = (function () {
|
|
|
758
770
|
|
|
759
771
|
class DOMUtils extends DOMUtilsEvent {
|
|
760
772
|
constructor(option) {
|
|
761
|
-
|
|
762
|
-
super();
|
|
773
|
+
super(option);
|
|
763
774
|
}
|
|
764
775
|
/** 版本号 */
|
|
765
|
-
version = "2024.
|
|
776
|
+
version = "2024.7.24";
|
|
766
777
|
attr(element, attrName, attrValue) {
|
|
778
|
+
let DOMUtilsContext = this;
|
|
767
779
|
if (typeof element === "string") {
|
|
768
|
-
element =
|
|
780
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
769
781
|
}
|
|
770
782
|
if (element == null) {
|
|
771
783
|
return;
|
|
@@ -802,7 +814,8 @@ var DOMUtils = (function () {
|
|
|
802
814
|
property,
|
|
803
815
|
/** 自定义属性 */
|
|
804
816
|
attributes) {
|
|
805
|
-
let
|
|
817
|
+
let DOMUtilsContext = this;
|
|
818
|
+
let tempElement = DOMUtilsContext.windowApi.document.createElement(tagName);
|
|
806
819
|
if (typeof property === "string") {
|
|
807
820
|
tempElement.innerHTML = property;
|
|
808
821
|
return tempElement;
|
|
@@ -832,6 +845,7 @@ var DOMUtils = (function () {
|
|
|
832
845
|
return tempElement;
|
|
833
846
|
}
|
|
834
847
|
css(element, property, value) {
|
|
848
|
+
let DOMUtilsContext = this;
|
|
835
849
|
/**
|
|
836
850
|
* 把纯数字没有px的加上
|
|
837
851
|
*/
|
|
@@ -856,7 +870,7 @@ var DOMUtils = (function () {
|
|
|
856
870
|
return propertyValue;
|
|
857
871
|
}
|
|
858
872
|
if (typeof element === "string") {
|
|
859
|
-
element =
|
|
873
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
860
874
|
}
|
|
861
875
|
if (element == null) {
|
|
862
876
|
return;
|
|
@@ -889,8 +903,9 @@ var DOMUtils = (function () {
|
|
|
889
903
|
}
|
|
890
904
|
}
|
|
891
905
|
text(element, text) {
|
|
906
|
+
let DOMUtilsContext = this;
|
|
892
907
|
if (typeof element === "string") {
|
|
893
|
-
element =
|
|
908
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
894
909
|
}
|
|
895
910
|
if (element == null) {
|
|
896
911
|
return;
|
|
@@ -911,8 +926,9 @@ var DOMUtils = (function () {
|
|
|
911
926
|
}
|
|
912
927
|
}
|
|
913
928
|
html(element, html) {
|
|
929
|
+
let DOMUtilsContext = this;
|
|
914
930
|
if (typeof element === "string") {
|
|
915
|
-
element =
|
|
931
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
916
932
|
}
|
|
917
933
|
if (element == null) {
|
|
918
934
|
return;
|
|
@@ -965,8 +981,9 @@ var DOMUtils = (function () {
|
|
|
965
981
|
};
|
|
966
982
|
}
|
|
967
983
|
val(element, value) {
|
|
984
|
+
let DOMUtilsContext = this;
|
|
968
985
|
if (typeof element === "string") {
|
|
969
|
-
element =
|
|
986
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
970
987
|
}
|
|
971
988
|
if (element == null) {
|
|
972
989
|
return;
|
|
@@ -991,11 +1008,12 @@ var DOMUtils = (function () {
|
|
|
991
1008
|
}
|
|
992
1009
|
}
|
|
993
1010
|
prop(element, propName, propValue) {
|
|
1011
|
+
let DOMUtilsContext = this;
|
|
994
1012
|
if (element == null) {
|
|
995
1013
|
return;
|
|
996
1014
|
}
|
|
997
1015
|
if (typeof element === "string") {
|
|
998
|
-
element =
|
|
1016
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
999
1017
|
}
|
|
1000
1018
|
if (propValue == null) {
|
|
1001
1019
|
return element[propName];
|
|
@@ -1014,8 +1032,9 @@ var DOMUtils = (function () {
|
|
|
1014
1032
|
* DOMUtils.removeAttr("a.xx","data-value")
|
|
1015
1033
|
* */
|
|
1016
1034
|
removeAttr(element, attrName) {
|
|
1035
|
+
let DOMUtilsContext = this;
|
|
1017
1036
|
if (typeof element === "string") {
|
|
1018
|
-
element =
|
|
1037
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1019
1038
|
}
|
|
1020
1039
|
if (element == null) {
|
|
1021
1040
|
return;
|
|
@@ -1032,8 +1051,9 @@ var DOMUtils = (function () {
|
|
|
1032
1051
|
* DOMUtils.removeClass("a.xx","xx")
|
|
1033
1052
|
*/
|
|
1034
1053
|
removeClass(element, className) {
|
|
1054
|
+
let DOMUtilsContext = this;
|
|
1035
1055
|
if (typeof element === "string") {
|
|
1036
|
-
element =
|
|
1056
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1037
1057
|
}
|
|
1038
1058
|
if (element == null) {
|
|
1039
1059
|
return;
|
|
@@ -1053,8 +1073,9 @@ var DOMUtils = (function () {
|
|
|
1053
1073
|
* DOMUtils.removeProp("a.xx","href")
|
|
1054
1074
|
* */
|
|
1055
1075
|
removeProp(element, propName) {
|
|
1076
|
+
let DOMUtilsContext = this;
|
|
1056
1077
|
if (typeof element === "string") {
|
|
1057
|
-
element =
|
|
1078
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1058
1079
|
}
|
|
1059
1080
|
if (element == null) {
|
|
1060
1081
|
return;
|
|
@@ -1073,7 +1094,7 @@ var DOMUtils = (function () {
|
|
|
1073
1094
|
replaceWith(element, newElement) {
|
|
1074
1095
|
let DOMUtilsContext = this;
|
|
1075
1096
|
if (typeof element === "string") {
|
|
1076
|
-
element =
|
|
1097
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1077
1098
|
}
|
|
1078
1099
|
if (element == null) {
|
|
1079
1100
|
return;
|
|
@@ -1100,8 +1121,9 @@ var DOMUtils = (function () {
|
|
|
1100
1121
|
* DOMUtils.addClass("a.xx","_vue_")
|
|
1101
1122
|
* */
|
|
1102
1123
|
addClass(element, className) {
|
|
1124
|
+
let DOMUtilsContext = this;
|
|
1103
1125
|
if (typeof element === "string") {
|
|
1104
|
-
element =
|
|
1126
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1105
1127
|
}
|
|
1106
1128
|
if (element == null) {
|
|
1107
1129
|
return;
|
|
@@ -1118,8 +1140,9 @@ var DOMUtils = (function () {
|
|
|
1118
1140
|
* DOMUtils.append("a.xx","'<b class="xx"></b>")
|
|
1119
1141
|
* */
|
|
1120
1142
|
append(element, content) {
|
|
1143
|
+
let DOMUtilsContext = this;
|
|
1121
1144
|
if (typeof element === "string") {
|
|
1122
|
-
element =
|
|
1145
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1123
1146
|
}
|
|
1124
1147
|
if (element == null) {
|
|
1125
1148
|
return;
|
|
@@ -1134,7 +1157,7 @@ var DOMUtils = (function () {
|
|
|
1134
1157
|
}
|
|
1135
1158
|
if (Array.isArray(content) || content instanceof NodeList) {
|
|
1136
1159
|
/* 数组 */
|
|
1137
|
-
let fragment =
|
|
1160
|
+
let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
|
|
1138
1161
|
content.forEach((ele) => {
|
|
1139
1162
|
if (typeof ele === "string") {
|
|
1140
1163
|
ele = this.parseHTML(ele, true, false);
|
|
@@ -1157,8 +1180,9 @@ var DOMUtils = (function () {
|
|
|
1157
1180
|
* DOMUtils.prepend("a.xx","'<b class="xx"></b>")
|
|
1158
1181
|
* */
|
|
1159
1182
|
prepend(element, content) {
|
|
1183
|
+
let DOMUtilsContext = this;
|
|
1160
1184
|
if (typeof element === "string") {
|
|
1161
|
-
element =
|
|
1185
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1162
1186
|
}
|
|
1163
1187
|
if (element == null) {
|
|
1164
1188
|
return;
|
|
@@ -1180,8 +1204,9 @@ var DOMUtils = (function () {
|
|
|
1180
1204
|
* DOMUtils.after("a.xx","'<b class="xx"></b>")
|
|
1181
1205
|
* */
|
|
1182
1206
|
after(element, content) {
|
|
1207
|
+
let DOMUtilsContext = this;
|
|
1183
1208
|
if (typeof element === "string") {
|
|
1184
|
-
element =
|
|
1209
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1185
1210
|
}
|
|
1186
1211
|
if (element == null) {
|
|
1187
1212
|
return;
|
|
@@ -1203,8 +1228,9 @@ var DOMUtils = (function () {
|
|
|
1203
1228
|
* DOMUtils.before("a.xx","'<b class="xx"></b>")
|
|
1204
1229
|
* */
|
|
1205
1230
|
before(element, content) {
|
|
1231
|
+
let DOMUtilsContext = this;
|
|
1206
1232
|
if (typeof element === "string") {
|
|
1207
|
-
element =
|
|
1233
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1208
1234
|
}
|
|
1209
1235
|
if (element == null) {
|
|
1210
1236
|
return;
|
|
@@ -1228,7 +1254,7 @@ var DOMUtils = (function () {
|
|
|
1228
1254
|
remove(target) {
|
|
1229
1255
|
let DOMUtilsContext = this;
|
|
1230
1256
|
if (typeof target === "string") {
|
|
1231
|
-
target =
|
|
1257
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1232
1258
|
}
|
|
1233
1259
|
if (target == null) {
|
|
1234
1260
|
return;
|
|
@@ -1252,8 +1278,9 @@ var DOMUtils = (function () {
|
|
|
1252
1278
|
* DOMUtils.empty("a.xx")
|
|
1253
1279
|
* */
|
|
1254
1280
|
empty(element) {
|
|
1281
|
+
let DOMUtilsContext = this;
|
|
1255
1282
|
if (typeof element === "string") {
|
|
1256
|
-
element =
|
|
1283
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1257
1284
|
}
|
|
1258
1285
|
if (element == null) {
|
|
1259
1286
|
return;
|
|
@@ -1270,8 +1297,9 @@ var DOMUtils = (function () {
|
|
|
1270
1297
|
* > 0
|
|
1271
1298
|
*/
|
|
1272
1299
|
offset(element) {
|
|
1300
|
+
let DOMUtilsContext = this;
|
|
1273
1301
|
if (typeof element === "string") {
|
|
1274
|
-
element =
|
|
1302
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1275
1303
|
}
|
|
1276
1304
|
if (element == null) {
|
|
1277
1305
|
return;
|
|
@@ -1279,21 +1307,22 @@ var DOMUtils = (function () {
|
|
|
1279
1307
|
let rect = element.getBoundingClientRect();
|
|
1280
1308
|
return {
|
|
1281
1309
|
/** y轴偏移 */
|
|
1282
|
-
top: rect.top +
|
|
1310
|
+
top: rect.top + DOMUtilsContext.windowApi.globalThis.scrollY,
|
|
1283
1311
|
/** x轴偏移 */
|
|
1284
|
-
left: rect.left +
|
|
1312
|
+
left: rect.left + DOMUtilsContext.windowApi.globalThis.scrollX,
|
|
1285
1313
|
};
|
|
1286
1314
|
}
|
|
1287
1315
|
width(element, isShow = false) {
|
|
1288
1316
|
let DOMUtilsContext = this;
|
|
1289
1317
|
if (typeof element === "string") {
|
|
1290
|
-
element =
|
|
1318
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1291
1319
|
}
|
|
1292
1320
|
if (element == null) {
|
|
1293
1321
|
return;
|
|
1294
1322
|
}
|
|
1295
1323
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1296
|
-
return
|
|
1324
|
+
return DOMUtilsContext.windowApi.window.document.documentElement
|
|
1325
|
+
.clientWidth;
|
|
1297
1326
|
}
|
|
1298
1327
|
if (element.nodeType === 9) {
|
|
1299
1328
|
/* Document文档节点 */
|
|
@@ -1336,10 +1365,11 @@ var DOMUtils = (function () {
|
|
|
1336
1365
|
height(element, isShow = false) {
|
|
1337
1366
|
let DOMUtilsContext = this;
|
|
1338
1367
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1339
|
-
return
|
|
1368
|
+
return DOMUtilsContext.windowApi.window.document.documentElement
|
|
1369
|
+
.clientHeight;
|
|
1340
1370
|
}
|
|
1341
1371
|
if (typeof element === "string") {
|
|
1342
|
-
element =
|
|
1372
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1343
1373
|
}
|
|
1344
1374
|
if (element == null) {
|
|
1345
1375
|
// @ts-ignore
|
|
@@ -1386,10 +1416,10 @@ var DOMUtils = (function () {
|
|
|
1386
1416
|
outerWidth(element, isShow = false) {
|
|
1387
1417
|
let DOMUtilsContext = this;
|
|
1388
1418
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1389
|
-
return
|
|
1419
|
+
return DOMUtilsContext.windowApi.window.innerWidth;
|
|
1390
1420
|
}
|
|
1391
1421
|
if (typeof element === "string") {
|
|
1392
|
-
element =
|
|
1422
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1393
1423
|
}
|
|
1394
1424
|
if (element == null) {
|
|
1395
1425
|
// @ts-ignore
|
|
@@ -1412,10 +1442,10 @@ var DOMUtils = (function () {
|
|
|
1412
1442
|
outerHeight(element, isShow = false) {
|
|
1413
1443
|
let DOMUtilsContext = this;
|
|
1414
1444
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1415
|
-
return
|
|
1445
|
+
return DOMUtilsContext.windowApi.window.innerHeight;
|
|
1416
1446
|
}
|
|
1417
1447
|
if (typeof element === "string") {
|
|
1418
|
-
element =
|
|
1448
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1419
1449
|
}
|
|
1420
1450
|
if (element == null) {
|
|
1421
1451
|
// @ts-ignore
|
|
@@ -1448,8 +1478,9 @@ var DOMUtils = (function () {
|
|
|
1448
1478
|
* })
|
|
1449
1479
|
*/
|
|
1450
1480
|
animate(element, styles, duration = 1000, callback = null) {
|
|
1481
|
+
let DOMUtilsContext = this;
|
|
1451
1482
|
if (typeof element === "string") {
|
|
1452
|
-
element =
|
|
1483
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1453
1484
|
}
|
|
1454
1485
|
if (element == null) {
|
|
1455
1486
|
return;
|
|
@@ -1500,15 +1531,16 @@ var DOMUtils = (function () {
|
|
|
1500
1531
|
* DOMUtils.wrap(document.querySelector("a.xx"),"<div></div>")
|
|
1501
1532
|
*/
|
|
1502
1533
|
wrap(element, wrapperHTML) {
|
|
1534
|
+
let DOMUtilsContext = this;
|
|
1503
1535
|
if (typeof element === "string") {
|
|
1504
|
-
element =
|
|
1536
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1505
1537
|
}
|
|
1506
1538
|
if (element == null) {
|
|
1507
1539
|
return;
|
|
1508
1540
|
}
|
|
1509
1541
|
element = element;
|
|
1510
1542
|
// 创建一个新的div元素,并将wrapperHTML作为其innerHTML
|
|
1511
|
-
let wrapper =
|
|
1543
|
+
let wrapper = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1512
1544
|
wrapper.innerHTML = wrapperHTML;
|
|
1513
1545
|
let wrapperFirstChild = wrapper.firstChild;
|
|
1514
1546
|
// 将要包裹的元素插入目标元素前面
|
|
@@ -1517,8 +1549,9 @@ var DOMUtils = (function () {
|
|
|
1517
1549
|
wrapperFirstChild.appendChild(element);
|
|
1518
1550
|
}
|
|
1519
1551
|
prev(element) {
|
|
1552
|
+
let DOMUtilsContext = this;
|
|
1520
1553
|
if (typeof element === "string") {
|
|
1521
|
-
element =
|
|
1554
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1522
1555
|
}
|
|
1523
1556
|
if (element == null) {
|
|
1524
1557
|
return;
|
|
@@ -1526,8 +1559,9 @@ var DOMUtils = (function () {
|
|
|
1526
1559
|
return element.previousElementSibling;
|
|
1527
1560
|
}
|
|
1528
1561
|
next(element) {
|
|
1562
|
+
let DOMUtilsContext = this;
|
|
1529
1563
|
if (typeof element === "string") {
|
|
1530
|
-
element =
|
|
1564
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1531
1565
|
}
|
|
1532
1566
|
if (element == null) {
|
|
1533
1567
|
return;
|
|
@@ -1540,15 +1574,17 @@ var DOMUtils = (function () {
|
|
|
1540
1574
|
* let DOMUtils = window.DOMUtils.noConflict()
|
|
1541
1575
|
*/
|
|
1542
1576
|
noConflict() {
|
|
1543
|
-
|
|
1577
|
+
let DOMUtilsContext = this;
|
|
1578
|
+
if (DOMUtilsContext.windowApi.window.DOMUtils) {
|
|
1544
1579
|
DOMUtilsCommonUtils.delete(window, "DOMUtils");
|
|
1545
1580
|
}
|
|
1546
|
-
|
|
1581
|
+
DOMUtilsContext.windowApi.window.DOMUtils = this;
|
|
1547
1582
|
return this;
|
|
1548
1583
|
}
|
|
1549
1584
|
siblings(element) {
|
|
1585
|
+
let DOMUtilsContext = this;
|
|
1550
1586
|
if (typeof element === "string") {
|
|
1551
|
-
element =
|
|
1587
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1552
1588
|
}
|
|
1553
1589
|
if (element == null) {
|
|
1554
1590
|
return;
|
|
@@ -1569,7 +1605,7 @@ var DOMUtils = (function () {
|
|
|
1569
1605
|
parent(element) {
|
|
1570
1606
|
let DOMUtilsContext = this;
|
|
1571
1607
|
if (typeof element === "string") {
|
|
1572
|
-
element =
|
|
1608
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1573
1609
|
}
|
|
1574
1610
|
if (element == null) {
|
|
1575
1611
|
return;
|
|
@@ -1587,6 +1623,7 @@ var DOMUtils = (function () {
|
|
|
1587
1623
|
}
|
|
1588
1624
|
}
|
|
1589
1625
|
parseHTML(html, useParser = false, isComplete = false) {
|
|
1626
|
+
let DOMUtilsContext = this;
|
|
1590
1627
|
function parseHTMLByDOMParser() {
|
|
1591
1628
|
let parser = new DOMParser();
|
|
1592
1629
|
if (isComplete) {
|
|
@@ -1597,7 +1634,7 @@ var DOMUtils = (function () {
|
|
|
1597
1634
|
}
|
|
1598
1635
|
}
|
|
1599
1636
|
function parseHTMLByCreateDom() {
|
|
1600
|
-
let tempDIV =
|
|
1637
|
+
let tempDIV = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1601
1638
|
tempDIV.innerHTML = html;
|
|
1602
1639
|
if (isComplete) {
|
|
1603
1640
|
return tempDIV;
|
|
@@ -1628,7 +1665,7 @@ var DOMUtils = (function () {
|
|
|
1628
1665
|
return;
|
|
1629
1666
|
}
|
|
1630
1667
|
if (typeof target === "string") {
|
|
1631
|
-
target =
|
|
1668
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1632
1669
|
}
|
|
1633
1670
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1634
1671
|
target = target;
|
|
@@ -1660,7 +1697,7 @@ var DOMUtils = (function () {
|
|
|
1660
1697
|
return;
|
|
1661
1698
|
}
|
|
1662
1699
|
if (typeof target === "string") {
|
|
1663
|
-
target =
|
|
1700
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1664
1701
|
}
|
|
1665
1702
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1666
1703
|
target = target;
|
|
@@ -1695,8 +1732,9 @@ var DOMUtils = (function () {
|
|
|
1695
1732
|
if (element == null) {
|
|
1696
1733
|
return;
|
|
1697
1734
|
}
|
|
1735
|
+
let DOMUtilsContext = this;
|
|
1698
1736
|
if (typeof element === "string") {
|
|
1699
|
-
element =
|
|
1737
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1700
1738
|
}
|
|
1701
1739
|
element = element;
|
|
1702
1740
|
element.style.opacity = "0";
|
|
@@ -1710,16 +1748,16 @@ var DOMUtils = (function () {
|
|
|
1710
1748
|
element = element;
|
|
1711
1749
|
element.style.opacity = Math.min(progress / duration, 1).toString();
|
|
1712
1750
|
if (progress < duration) {
|
|
1713
|
-
|
|
1751
|
+
DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1714
1752
|
}
|
|
1715
1753
|
else {
|
|
1716
1754
|
if (callback && typeof callback === "function") {
|
|
1717
1755
|
callback();
|
|
1718
1756
|
}
|
|
1719
|
-
|
|
1757
|
+
DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
|
|
1720
1758
|
}
|
|
1721
1759
|
}
|
|
1722
|
-
timer =
|
|
1760
|
+
timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1723
1761
|
}
|
|
1724
1762
|
/**
|
|
1725
1763
|
* 淡出元素
|
|
@@ -1736,11 +1774,12 @@ var DOMUtils = (function () {
|
|
|
1736
1774
|
* })
|
|
1737
1775
|
*/
|
|
1738
1776
|
fadeOut(element, duration = 400, callback) {
|
|
1777
|
+
let DOMUtilsContext = this;
|
|
1739
1778
|
if (element == null) {
|
|
1740
1779
|
return;
|
|
1741
1780
|
}
|
|
1742
1781
|
if (typeof element === "string") {
|
|
1743
|
-
element =
|
|
1782
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1744
1783
|
}
|
|
1745
1784
|
element = element;
|
|
1746
1785
|
element.style.opacity = "1";
|
|
@@ -1753,17 +1792,17 @@ var DOMUtils = (function () {
|
|
|
1753
1792
|
element = element;
|
|
1754
1793
|
element.style.opacity = Math.max(1 - progress / duration, 0).toString();
|
|
1755
1794
|
if (progress < duration) {
|
|
1756
|
-
|
|
1795
|
+
DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1757
1796
|
}
|
|
1758
1797
|
else {
|
|
1759
1798
|
element.style.display = "none";
|
|
1760
1799
|
if (typeof callback === "function") {
|
|
1761
1800
|
callback();
|
|
1762
1801
|
}
|
|
1763
|
-
|
|
1802
|
+
DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
|
|
1764
1803
|
}
|
|
1765
1804
|
}
|
|
1766
|
-
timer =
|
|
1805
|
+
timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1767
1806
|
}
|
|
1768
1807
|
/**
|
|
1769
1808
|
* 切换元素的显示和隐藏状态
|
|
@@ -1776,7 +1815,7 @@ var DOMUtils = (function () {
|
|
|
1776
1815
|
toggle(element) {
|
|
1777
1816
|
let DOMUtilsContext = this;
|
|
1778
1817
|
if (typeof element === "string") {
|
|
1779
|
-
element =
|
|
1818
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1780
1819
|
}
|
|
1781
1820
|
if (element == null) {
|
|
1782
1821
|
return;
|
|
@@ -1805,6 +1844,7 @@ var DOMUtils = (function () {
|
|
|
1805
1844
|
* DOMUtils.getTextBoundingRect(document.querySelector("input"));
|
|
1806
1845
|
*/
|
|
1807
1846
|
getTextBoundingRect($input, selectionStart, selectionEnd) {
|
|
1847
|
+
let DOMUtilsContext = this;
|
|
1808
1848
|
// Basic parameter validation
|
|
1809
1849
|
if (!$input || !("value" in $input))
|
|
1810
1850
|
return $input;
|
|
@@ -1874,7 +1914,7 @@ var DOMUtils = (function () {
|
|
|
1874
1914
|
}
|
|
1875
1915
|
// End of CSS variable checks
|
|
1876
1916
|
// 不能为空,不然获取不到高度
|
|
1877
|
-
let text = $input.value || "G", textLen = text.length, fakeClone =
|
|
1917
|
+
let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1878
1918
|
if (selectionStart > 0)
|
|
1879
1919
|
appendPart(0, selectionStart);
|
|
1880
1920
|
var fakeRange = appendPart(selectionStart, selectionEnd);
|
|
@@ -1888,7 +1928,7 @@ var DOMUtils = (function () {
|
|
|
1888
1928
|
fakeClone.style.left = leftPos + "px";
|
|
1889
1929
|
fakeClone.style.width = width + "px";
|
|
1890
1930
|
fakeClone.style.height = height + "px";
|
|
1891
|
-
|
|
1931
|
+
DOMUtilsContext.windowApi.document.body.appendChild(fakeClone);
|
|
1892
1932
|
var returnValue = fakeRange.getBoundingClientRect(); //Get rect
|
|
1893
1933
|
fakeClone?.parentNode?.removeChild(fakeClone); //Remove temp
|
|
1894
1934
|
return returnValue;
|
|
@@ -1900,7 +1940,7 @@ var DOMUtils = (function () {
|
|
|
1900
1940
|
* @returns
|
|
1901
1941
|
*/
|
|
1902
1942
|
function appendPart(start, end) {
|
|
1903
|
-
var span =
|
|
1943
|
+
var span = DOMUtilsContext.windowApi.document.createElement("span");
|
|
1904
1944
|
span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results
|
|
1905
1945
|
span.textContent = text.substring(start, end);
|
|
1906
1946
|
fakeClone.appendChild(span);
|
|
@@ -1908,7 +1948,7 @@ var DOMUtils = (function () {
|
|
|
1908
1948
|
}
|
|
1909
1949
|
// Computing offset position
|
|
1910
1950
|
function getInputOffset() {
|
|
1911
|
-
let body =
|
|
1951
|
+
let body = DOMUtilsContext.windowApi.document.body, win = DOMUtilsContext.windowApi.document.defaultView, docElem = DOMUtilsContext.windowApi.document.documentElement, $box = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1912
1952
|
$box.style.paddingLeft = $box.style.width = "1px";
|
|
1913
1953
|
body.appendChild($box);
|
|
1914
1954
|
var isBoxModel = $box.offsetWidth == 2;
|
|
@@ -1931,7 +1971,7 @@ var DOMUtils = (function () {
|
|
|
1931
1971
|
* @returns
|
|
1932
1972
|
*/
|
|
1933
1973
|
function getInputCSS(prop, isNumber) {
|
|
1934
|
-
var val =
|
|
1974
|
+
var val = DOMUtilsContext.windowApi.document
|
|
1935
1975
|
.defaultView.getComputedStyle($input, null)
|
|
1936
1976
|
.getPropertyValue(prop);
|
|
1937
1977
|
return isNumber ? parseFloat(val) : val;
|