@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.esm.js CHANGED
@@ -1,40 +1,9 @@
1
- const DOMUtilsCoreDefaultEnv = {
2
- document: document,
3
- window: window,
4
- globalThis: globalThis,
5
- self: self,
6
- top: top,
7
- };
8
- const DOMUtilsCoreEnv = {
9
- document: document,
10
- window: window,
11
- globalThis: globalThis,
12
- self: self,
13
- top: top,
14
- };
15
- const DOMUtilsCore = {
16
- init(option) {
17
- if (!option) {
18
- option = Object.assign({}, DOMUtilsCoreDefaultEnv);
19
- }
20
- Object.assign(DOMUtilsCoreEnv, option);
21
- },
22
- get document() {
23
- return DOMUtilsCoreEnv.document;
24
- },
25
- get window() {
26
- return DOMUtilsCoreEnv.window;
27
- },
28
- get globalThis() {
29
- return DOMUtilsCoreEnv.globalThis;
30
- },
31
- get self() {
32
- return DOMUtilsCoreEnv.self;
33
- },
34
- };
35
-
36
1
  /** 通用工具类 */
37
2
  const DOMUtilsCommonUtils = {
3
+ windowApi: {
4
+ window: window,
5
+ document: document,
6
+ },
38
7
  /**
39
8
  * 判断元素是否已显示或已连接
40
9
  * @param element
@@ -49,7 +18,7 @@ const DOMUtilsCommonUtils = {
49
18
  showElement(element) {
50
19
  let dupNode = element.cloneNode(true);
51
20
  dupNode.setAttribute("style", "visibility: hidden !important;display:block !important;");
52
- DOMUtilsCore.document.documentElement.appendChild(dupNode);
21
+ this.windowApi.document.documentElement.appendChild(dupNode);
53
22
  return {
54
23
  /**
55
24
  * 恢复修改的style
@@ -106,13 +75,13 @@ const DOMUtilsCommonUtils = {
106
75
  if (target === self) {
107
76
  return true;
108
77
  }
109
- if (target === DOMUtilsCore.globalThis) {
78
+ if (target === globalThis) {
110
79
  return true;
111
80
  }
112
- if (target === DOMUtilsCore.window) {
81
+ if (target === window) {
113
82
  return true;
114
83
  }
115
- if (target === DOMUtilsCore.self) {
84
+ if (target === self) {
116
85
  return true;
117
86
  }
118
87
  if (typeof unsafeWindow !== "undefined" && target === unsafeWindow) {
@@ -150,7 +119,45 @@ const OriginPrototype = {
150
119
  },
151
120
  };
152
121
 
122
+ class WindowApi {
123
+ /** 默认的配置 */
124
+ defaultApi = {
125
+ document: document,
126
+ window: window,
127
+ globalThis: globalThis,
128
+ self: self,
129
+ top: top,
130
+ };
131
+ /** 使用的配置 */
132
+ api;
133
+ constructor(option) {
134
+ if (!option) {
135
+ option = Object.assign({}, this.defaultApi);
136
+ }
137
+ this.api = Object.assign({}, option);
138
+ }
139
+ get document() {
140
+ return this.api.document;
141
+ }
142
+ get window() {
143
+ return this.api.window;
144
+ }
145
+ get globalThis() {
146
+ return this.api.globalThis;
147
+ }
148
+ get self() {
149
+ return this.api.self;
150
+ }
151
+ get top() {
152
+ return this.api.top;
153
+ }
154
+ }
155
+
153
156
  class DOMUtilsEvent {
157
+ windowApi;
158
+ constructor(windowApiOption) {
159
+ this.windowApi = new WindowApi(windowApiOption);
160
+ }
154
161
  on(element, eventType, selector, callback, option) {
155
162
  /**
156
163
  * 获取option配置
@@ -181,7 +188,7 @@ class DOMUtilsEvent {
181
188
  let DOMUtilsContext = this;
182
189
  let args = arguments;
183
190
  if (typeof element === "string") {
184
- element = DOMUtilsCore.document.querySelectorAll(element);
191
+ element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
185
192
  }
186
193
  if (element == null) {
187
194
  return;
@@ -232,7 +239,7 @@ class DOMUtilsEvent {
232
239
  if (_selector_) {
233
240
  /* 存在自定义子元素选择器 */
234
241
  let totalParent = DOMUtilsCommonUtils.isWin(elementItem)
235
- ? DOMUtilsCore.document.documentElement
242
+ ? DOMUtilsContext.windowApi.document.documentElement
236
243
  : elementItem;
237
244
  if (target.matches(_selector_)) {
238
245
  /* 当前目标可以被selector所匹配到 */
@@ -296,9 +303,10 @@ class DOMUtilsEvent {
296
303
  }
297
304
  return option;
298
305
  }
306
+ let DOMUtilsContext = this;
299
307
  let args = arguments;
300
308
  if (typeof element === "string") {
301
- element = DOMUtilsCore.document.querySelectorAll(element);
309
+ element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
302
310
  }
303
311
  if (element == null) {
304
312
  return;
@@ -381,8 +389,9 @@ class DOMUtilsEvent {
381
389
  * @param eventType (可选)需要取消监听的事件
382
390
  */
383
391
  offAll(element, eventType) {
392
+ let DOMUtilsContext = this;
384
393
  if (typeof element === "string") {
385
- element = DOMUtilsCore.document.querySelectorAll(element);
394
+ element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
386
395
  }
387
396
  if (element == null) {
388
397
  return;
@@ -437,14 +446,16 @@ class DOMUtilsEvent {
437
446
  if (typeof callback !== "function") {
438
447
  return;
439
448
  }
449
+ let DOMUtilsContext = this;
440
450
  /**
441
451
  * 检测文档是否加载完毕
442
452
  */
443
453
  function checkDOMReadyState() {
444
454
  try {
445
- if (DOMUtilsCore.document.readyState === "complete" ||
446
- (DOMUtilsCore.document.readyState !== "loading" &&
447
- !DOMUtilsCore.document.documentElement.doScroll)) {
455
+ if (DOMUtilsContext.windowApi.document.readyState === "complete" ||
456
+ (DOMUtilsContext.windowApi.document.readyState !== "loading" &&
457
+ !DOMUtilsContext.windowApi.document.documentElement
458
+ .doScroll)) {
448
459
  return true;
449
460
  }
450
461
  else {
@@ -464,12 +475,12 @@ class DOMUtilsEvent {
464
475
  }
465
476
  let targetList = [
466
477
  {
467
- target: DOMUtilsCore.document,
478
+ target: DOMUtilsContext.windowApi.document,
468
479
  eventType: "DOMContentLoaded",
469
480
  callback: completed,
470
481
  },
471
482
  {
472
- target: DOMUtilsCore.window,
483
+ target: DOMUtilsContext.windowApi.window,
473
484
  eventType: "load",
474
485
  callback: completed,
475
486
  },
@@ -516,8 +527,9 @@ class DOMUtilsEvent {
516
527
  * DOMUtils.trigger("a.xx",["click","tap","hover"])
517
528
  */
518
529
  trigger(element, eventType, details, useDispatchToTriggerEvent = true) {
530
+ let DOMUtilsContext = this;
519
531
  if (typeof element === "string") {
520
- element = DOMUtilsCore.document.querySelector(element);
532
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
521
533
  }
522
534
  if (element == null) {
523
535
  return;
@@ -581,7 +593,7 @@ class DOMUtilsEvent {
581
593
  click(element, handler, details, useDispatchToTriggerEvent) {
582
594
  let DOMUtilsContext = this;
583
595
  if (typeof element === "string") {
584
- element = DOMUtilsCore.document.querySelector(element);
596
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
585
597
  }
586
598
  if (element == null) {
587
599
  return;
@@ -610,7 +622,7 @@ class DOMUtilsEvent {
610
622
  blur(element, handler, details, useDispatchToTriggerEvent) {
611
623
  let DOMUtilsContext = this;
612
624
  if (typeof element === "string") {
613
- element = DOMUtilsCore.document.querySelector(element);
625
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
614
626
  }
615
627
  if (element == null) {
616
628
  return;
@@ -639,7 +651,7 @@ class DOMUtilsEvent {
639
651
  focus(element, handler, details, useDispatchToTriggerEvent) {
640
652
  let DOMUtilsContext = this;
641
653
  if (typeof element === "string") {
642
- element = DOMUtilsCore.document.querySelector(element);
654
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
643
655
  }
644
656
  if (element == null) {
645
657
  return;
@@ -668,7 +680,7 @@ class DOMUtilsEvent {
668
680
  hover(element, handler, option) {
669
681
  let DOMUtilsContext = this;
670
682
  if (typeof element === "string") {
671
- element = DOMUtilsCore.document.querySelector(element);
683
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
672
684
  }
673
685
  if (element == null) {
674
686
  return;
@@ -697,7 +709,7 @@ class DOMUtilsEvent {
697
709
  return;
698
710
  }
699
711
  if (typeof target === "string") {
700
- target = DOMUtilsCore.document.querySelector(target);
712
+ target = DOMUtilsContext.windowApi.document.querySelector(target);
701
713
  }
702
714
  DOMUtilsContext.on(target, "keyup", null, handler, option);
703
715
  }
@@ -722,7 +734,7 @@ class DOMUtilsEvent {
722
734
  return;
723
735
  }
724
736
  if (typeof target === "string") {
725
- target = DOMUtilsCore.document.querySelector(target);
737
+ target = DOMUtilsContext.windowApi.document.querySelector(target);
726
738
  }
727
739
  DOMUtilsContext.on(target, "keydown", null, handler, option);
728
740
  }
@@ -747,7 +759,7 @@ class DOMUtilsEvent {
747
759
  return;
748
760
  }
749
761
  if (typeof target === "string") {
750
- target = DOMUtilsCore.document.querySelector(target);
762
+ target = DOMUtilsContext.windowApi.document.querySelector(target);
751
763
  }
752
764
  DOMUtilsContext.on(target, "keypress", null, handler, option);
753
765
  }
@@ -755,14 +767,14 @@ class DOMUtilsEvent {
755
767
 
756
768
  class DOMUtils extends DOMUtilsEvent {
757
769
  constructor(option) {
758
- DOMUtilsCore.init(option);
759
- super();
770
+ super(option);
760
771
  }
761
772
  /** 版本号 */
762
- version = "2024.6.21";
773
+ version = "2024.7.24";
763
774
  attr(element, attrName, attrValue) {
775
+ let DOMUtilsContext = this;
764
776
  if (typeof element === "string") {
765
- element = DOMUtilsCore.document.querySelector(element);
777
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
766
778
  }
767
779
  if (element == null) {
768
780
  return;
@@ -799,7 +811,8 @@ class DOMUtils extends DOMUtilsEvent {
799
811
  property,
800
812
  /** 自定义属性 */
801
813
  attributes) {
802
- let tempElement = DOMUtilsCore.document.createElement(tagName);
814
+ let DOMUtilsContext = this;
815
+ let tempElement = DOMUtilsContext.windowApi.document.createElement(tagName);
803
816
  if (typeof property === "string") {
804
817
  tempElement.innerHTML = property;
805
818
  return tempElement;
@@ -829,6 +842,7 @@ class DOMUtils extends DOMUtilsEvent {
829
842
  return tempElement;
830
843
  }
831
844
  css(element, property, value) {
845
+ let DOMUtilsContext = this;
832
846
  /**
833
847
  * 把纯数字没有px的加上
834
848
  */
@@ -853,7 +867,7 @@ class DOMUtils extends DOMUtilsEvent {
853
867
  return propertyValue;
854
868
  }
855
869
  if (typeof element === "string") {
856
- element = DOMUtilsCore.document.querySelector(element);
870
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
857
871
  }
858
872
  if (element == null) {
859
873
  return;
@@ -886,8 +900,9 @@ class DOMUtils extends DOMUtilsEvent {
886
900
  }
887
901
  }
888
902
  text(element, text) {
903
+ let DOMUtilsContext = this;
889
904
  if (typeof element === "string") {
890
- element = DOMUtilsCore.document.querySelector(element);
905
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
891
906
  }
892
907
  if (element == null) {
893
908
  return;
@@ -908,8 +923,9 @@ class DOMUtils extends DOMUtilsEvent {
908
923
  }
909
924
  }
910
925
  html(element, html) {
926
+ let DOMUtilsContext = this;
911
927
  if (typeof element === "string") {
912
- element = DOMUtilsCore.document.querySelector(element);
928
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
913
929
  }
914
930
  if (element == null) {
915
931
  return;
@@ -962,8 +978,9 @@ class DOMUtils extends DOMUtilsEvent {
962
978
  };
963
979
  }
964
980
  val(element, value) {
981
+ let DOMUtilsContext = this;
965
982
  if (typeof element === "string") {
966
- element = DOMUtilsCore.document.querySelector(element);
983
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
967
984
  }
968
985
  if (element == null) {
969
986
  return;
@@ -988,11 +1005,12 @@ class DOMUtils extends DOMUtilsEvent {
988
1005
  }
989
1006
  }
990
1007
  prop(element, propName, propValue) {
1008
+ let DOMUtilsContext = this;
991
1009
  if (element == null) {
992
1010
  return;
993
1011
  }
994
1012
  if (typeof element === "string") {
995
- element = DOMUtilsCore.document.querySelector(element);
1013
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
996
1014
  }
997
1015
  if (propValue == null) {
998
1016
  return element[propName];
@@ -1011,8 +1029,9 @@ class DOMUtils extends DOMUtilsEvent {
1011
1029
  * DOMUtils.removeAttr("a.xx","data-value")
1012
1030
  * */
1013
1031
  removeAttr(element, attrName) {
1032
+ let DOMUtilsContext = this;
1014
1033
  if (typeof element === "string") {
1015
- element = DOMUtilsCore.document.querySelector(element);
1034
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1016
1035
  }
1017
1036
  if (element == null) {
1018
1037
  return;
@@ -1029,8 +1048,9 @@ class DOMUtils extends DOMUtilsEvent {
1029
1048
  * DOMUtils.removeClass("a.xx","xx")
1030
1049
  */
1031
1050
  removeClass(element, className) {
1051
+ let DOMUtilsContext = this;
1032
1052
  if (typeof element === "string") {
1033
- element = DOMUtilsCore.document.querySelector(element);
1053
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1034
1054
  }
1035
1055
  if (element == null) {
1036
1056
  return;
@@ -1050,8 +1070,9 @@ class DOMUtils extends DOMUtilsEvent {
1050
1070
  * DOMUtils.removeProp("a.xx","href")
1051
1071
  * */
1052
1072
  removeProp(element, propName) {
1073
+ let DOMUtilsContext = this;
1053
1074
  if (typeof element === "string") {
1054
- element = DOMUtilsCore.document.querySelector(element);
1075
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1055
1076
  }
1056
1077
  if (element == null) {
1057
1078
  return;
@@ -1070,7 +1091,7 @@ class DOMUtils extends DOMUtilsEvent {
1070
1091
  replaceWith(element, newElement) {
1071
1092
  let DOMUtilsContext = this;
1072
1093
  if (typeof element === "string") {
1073
- element = DOMUtilsCore.document.querySelector(element);
1094
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1074
1095
  }
1075
1096
  if (element == null) {
1076
1097
  return;
@@ -1097,8 +1118,9 @@ class DOMUtils extends DOMUtilsEvent {
1097
1118
  * DOMUtils.addClass("a.xx","_vue_")
1098
1119
  * */
1099
1120
  addClass(element, className) {
1121
+ let DOMUtilsContext = this;
1100
1122
  if (typeof element === "string") {
1101
- element = DOMUtilsCore.document.querySelector(element);
1123
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1102
1124
  }
1103
1125
  if (element == null) {
1104
1126
  return;
@@ -1115,8 +1137,9 @@ class DOMUtils extends DOMUtilsEvent {
1115
1137
  * DOMUtils.append("a.xx","'<b class="xx"></b>")
1116
1138
  * */
1117
1139
  append(element, content) {
1140
+ let DOMUtilsContext = this;
1118
1141
  if (typeof element === "string") {
1119
- element = DOMUtilsCore.document.querySelector(element);
1142
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1120
1143
  }
1121
1144
  if (element == null) {
1122
1145
  return;
@@ -1131,7 +1154,7 @@ class DOMUtils extends DOMUtilsEvent {
1131
1154
  }
1132
1155
  if (Array.isArray(content) || content instanceof NodeList) {
1133
1156
  /* 数组 */
1134
- let fragment = DOMUtilsCore.document.createDocumentFragment();
1157
+ let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
1135
1158
  content.forEach((ele) => {
1136
1159
  if (typeof ele === "string") {
1137
1160
  ele = this.parseHTML(ele, true, false);
@@ -1154,8 +1177,9 @@ class DOMUtils extends DOMUtilsEvent {
1154
1177
  * DOMUtils.prepend("a.xx","'<b class="xx"></b>")
1155
1178
  * */
1156
1179
  prepend(element, content) {
1180
+ let DOMUtilsContext = this;
1157
1181
  if (typeof element === "string") {
1158
- element = DOMUtilsCore.document.querySelector(element);
1182
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1159
1183
  }
1160
1184
  if (element == null) {
1161
1185
  return;
@@ -1177,8 +1201,9 @@ class DOMUtils extends DOMUtilsEvent {
1177
1201
  * DOMUtils.after("a.xx","'<b class="xx"></b>")
1178
1202
  * */
1179
1203
  after(element, content) {
1204
+ let DOMUtilsContext = this;
1180
1205
  if (typeof element === "string") {
1181
- element = DOMUtilsCore.document.querySelector(element);
1206
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1182
1207
  }
1183
1208
  if (element == null) {
1184
1209
  return;
@@ -1200,8 +1225,9 @@ class DOMUtils extends DOMUtilsEvent {
1200
1225
  * DOMUtils.before("a.xx","'<b class="xx"></b>")
1201
1226
  * */
1202
1227
  before(element, content) {
1228
+ let DOMUtilsContext = this;
1203
1229
  if (typeof element === "string") {
1204
- element = DOMUtilsCore.document.querySelector(element);
1230
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1205
1231
  }
1206
1232
  if (element == null) {
1207
1233
  return;
@@ -1225,7 +1251,7 @@ class DOMUtils extends DOMUtilsEvent {
1225
1251
  remove(target) {
1226
1252
  let DOMUtilsContext = this;
1227
1253
  if (typeof target === "string") {
1228
- target = DOMUtilsCore.document.querySelectorAll(target);
1254
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1229
1255
  }
1230
1256
  if (target == null) {
1231
1257
  return;
@@ -1249,8 +1275,9 @@ class DOMUtils extends DOMUtilsEvent {
1249
1275
  * DOMUtils.empty("a.xx")
1250
1276
  * */
1251
1277
  empty(element) {
1278
+ let DOMUtilsContext = this;
1252
1279
  if (typeof element === "string") {
1253
- element = DOMUtilsCore.document.querySelector(element);
1280
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1254
1281
  }
1255
1282
  if (element == null) {
1256
1283
  return;
@@ -1267,8 +1294,9 @@ class DOMUtils extends DOMUtilsEvent {
1267
1294
  * > 0
1268
1295
  */
1269
1296
  offset(element) {
1297
+ let DOMUtilsContext = this;
1270
1298
  if (typeof element === "string") {
1271
- element = DOMUtilsCore.document.querySelector(element);
1299
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1272
1300
  }
1273
1301
  if (element == null) {
1274
1302
  return;
@@ -1276,21 +1304,22 @@ class DOMUtils extends DOMUtilsEvent {
1276
1304
  let rect = element.getBoundingClientRect();
1277
1305
  return {
1278
1306
  /** y轴偏移 */
1279
- top: rect.top + DOMUtilsCore.globalThis.scrollY,
1307
+ top: rect.top + DOMUtilsContext.windowApi.globalThis.scrollY,
1280
1308
  /** x轴偏移 */
1281
- left: rect.left + DOMUtilsCore.globalThis.scrollX,
1309
+ left: rect.left + DOMUtilsContext.windowApi.globalThis.scrollX,
1282
1310
  };
1283
1311
  }
1284
1312
  width(element, isShow = false) {
1285
1313
  let DOMUtilsContext = this;
1286
1314
  if (typeof element === "string") {
1287
- element = DOMUtilsCore.document.querySelector(element);
1315
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1288
1316
  }
1289
1317
  if (element == null) {
1290
1318
  return;
1291
1319
  }
1292
1320
  if (DOMUtilsCommonUtils.isWin(element)) {
1293
- return DOMUtilsCore.window.document.documentElement.clientWidth;
1321
+ return DOMUtilsContext.windowApi.window.document.documentElement
1322
+ .clientWidth;
1294
1323
  }
1295
1324
  if (element.nodeType === 9) {
1296
1325
  /* Document文档节点 */
@@ -1333,10 +1362,11 @@ class DOMUtils extends DOMUtilsEvent {
1333
1362
  height(element, isShow = false) {
1334
1363
  let DOMUtilsContext = this;
1335
1364
  if (DOMUtilsCommonUtils.isWin(element)) {
1336
- return DOMUtilsCore.window.document.documentElement.clientHeight;
1365
+ return DOMUtilsContext.windowApi.window.document.documentElement
1366
+ .clientHeight;
1337
1367
  }
1338
1368
  if (typeof element === "string") {
1339
- element = DOMUtilsCore.document.querySelector(element);
1369
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1340
1370
  }
1341
1371
  if (element == null) {
1342
1372
  // @ts-ignore
@@ -1383,10 +1413,10 @@ class DOMUtils extends DOMUtilsEvent {
1383
1413
  outerWidth(element, isShow = false) {
1384
1414
  let DOMUtilsContext = this;
1385
1415
  if (DOMUtilsCommonUtils.isWin(element)) {
1386
- return DOMUtilsCore.window.innerWidth;
1416
+ return DOMUtilsContext.windowApi.window.innerWidth;
1387
1417
  }
1388
1418
  if (typeof element === "string") {
1389
- element = DOMUtilsCore.document.querySelector(element);
1419
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1390
1420
  }
1391
1421
  if (element == null) {
1392
1422
  // @ts-ignore
@@ -1409,10 +1439,10 @@ class DOMUtils extends DOMUtilsEvent {
1409
1439
  outerHeight(element, isShow = false) {
1410
1440
  let DOMUtilsContext = this;
1411
1441
  if (DOMUtilsCommonUtils.isWin(element)) {
1412
- return DOMUtilsCore.window.innerHeight;
1442
+ return DOMUtilsContext.windowApi.window.innerHeight;
1413
1443
  }
1414
1444
  if (typeof element === "string") {
1415
- element = DOMUtilsCore.document.querySelector(element);
1445
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1416
1446
  }
1417
1447
  if (element == null) {
1418
1448
  // @ts-ignore
@@ -1445,8 +1475,9 @@ class DOMUtils extends DOMUtilsEvent {
1445
1475
  * })
1446
1476
  */
1447
1477
  animate(element, styles, duration = 1000, callback = null) {
1478
+ let DOMUtilsContext = this;
1448
1479
  if (typeof element === "string") {
1449
- element = DOMUtilsCore.document.querySelector(element);
1480
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1450
1481
  }
1451
1482
  if (element == null) {
1452
1483
  return;
@@ -1497,15 +1528,16 @@ class DOMUtils extends DOMUtilsEvent {
1497
1528
  * DOMUtils.wrap(document.querySelector("a.xx"),"<div></div>")
1498
1529
  */
1499
1530
  wrap(element, wrapperHTML) {
1531
+ let DOMUtilsContext = this;
1500
1532
  if (typeof element === "string") {
1501
- element = DOMUtilsCore.document.querySelector(element);
1533
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1502
1534
  }
1503
1535
  if (element == null) {
1504
1536
  return;
1505
1537
  }
1506
1538
  element = element;
1507
1539
  // 创建一个新的div元素,并将wrapperHTML作为其innerHTML
1508
- let wrapper = DOMUtilsCore.document.createElement("div");
1540
+ let wrapper = DOMUtilsContext.windowApi.document.createElement("div");
1509
1541
  wrapper.innerHTML = wrapperHTML;
1510
1542
  let wrapperFirstChild = wrapper.firstChild;
1511
1543
  // 将要包裹的元素插入目标元素前面
@@ -1514,8 +1546,9 @@ class DOMUtils extends DOMUtilsEvent {
1514
1546
  wrapperFirstChild.appendChild(element);
1515
1547
  }
1516
1548
  prev(element) {
1549
+ let DOMUtilsContext = this;
1517
1550
  if (typeof element === "string") {
1518
- element = DOMUtilsCore.document.querySelector(element);
1551
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1519
1552
  }
1520
1553
  if (element == null) {
1521
1554
  return;
@@ -1523,8 +1556,9 @@ class DOMUtils extends DOMUtilsEvent {
1523
1556
  return element.previousElementSibling;
1524
1557
  }
1525
1558
  next(element) {
1559
+ let DOMUtilsContext = this;
1526
1560
  if (typeof element === "string") {
1527
- element = DOMUtilsCore.document.querySelector(element);
1561
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1528
1562
  }
1529
1563
  if (element == null) {
1530
1564
  return;
@@ -1537,15 +1571,17 @@ class DOMUtils extends DOMUtilsEvent {
1537
1571
  * let DOMUtils = window.DOMUtils.noConflict()
1538
1572
  */
1539
1573
  noConflict() {
1540
- if (DOMUtilsCore.window.DOMUtils) {
1574
+ let DOMUtilsContext = this;
1575
+ if (DOMUtilsContext.windowApi.window.DOMUtils) {
1541
1576
  DOMUtilsCommonUtils.delete(window, "DOMUtils");
1542
1577
  }
1543
- DOMUtilsCore.window.DOMUtils = this;
1578
+ DOMUtilsContext.windowApi.window.DOMUtils = this;
1544
1579
  return this;
1545
1580
  }
1546
1581
  siblings(element) {
1582
+ let DOMUtilsContext = this;
1547
1583
  if (typeof element === "string") {
1548
- element = DOMUtilsCore.document.querySelector(element);
1584
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1549
1585
  }
1550
1586
  if (element == null) {
1551
1587
  return;
@@ -1566,7 +1602,7 @@ class DOMUtils extends DOMUtilsEvent {
1566
1602
  parent(element) {
1567
1603
  let DOMUtilsContext = this;
1568
1604
  if (typeof element === "string") {
1569
- element = DOMUtilsCore.document.querySelector(element);
1605
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1570
1606
  }
1571
1607
  if (element == null) {
1572
1608
  return;
@@ -1584,6 +1620,7 @@ class DOMUtils extends DOMUtilsEvent {
1584
1620
  }
1585
1621
  }
1586
1622
  parseHTML(html, useParser = false, isComplete = false) {
1623
+ let DOMUtilsContext = this;
1587
1624
  function parseHTMLByDOMParser() {
1588
1625
  let parser = new DOMParser();
1589
1626
  if (isComplete) {
@@ -1594,7 +1631,7 @@ class DOMUtils extends DOMUtilsEvent {
1594
1631
  }
1595
1632
  }
1596
1633
  function parseHTMLByCreateDom() {
1597
- let tempDIV = DOMUtilsCore.document.createElement("div");
1634
+ let tempDIV = DOMUtilsContext.windowApi.document.createElement("div");
1598
1635
  tempDIV.innerHTML = html;
1599
1636
  if (isComplete) {
1600
1637
  return tempDIV;
@@ -1625,7 +1662,7 @@ class DOMUtils extends DOMUtilsEvent {
1625
1662
  return;
1626
1663
  }
1627
1664
  if (typeof target === "string") {
1628
- target = DOMUtilsCore.document.querySelectorAll(target);
1665
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1629
1666
  }
1630
1667
  if (target instanceof NodeList || target instanceof Array) {
1631
1668
  target = target;
@@ -1657,7 +1694,7 @@ class DOMUtils extends DOMUtilsEvent {
1657
1694
  return;
1658
1695
  }
1659
1696
  if (typeof target === "string") {
1660
- target = DOMUtilsCore.document.querySelectorAll(target);
1697
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1661
1698
  }
1662
1699
  if (target instanceof NodeList || target instanceof Array) {
1663
1700
  target = target;
@@ -1692,8 +1729,9 @@ class DOMUtils extends DOMUtilsEvent {
1692
1729
  if (element == null) {
1693
1730
  return;
1694
1731
  }
1732
+ let DOMUtilsContext = this;
1695
1733
  if (typeof element === "string") {
1696
- element = DOMUtilsCore.document.querySelector(element);
1734
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1697
1735
  }
1698
1736
  element = element;
1699
1737
  element.style.opacity = "0";
@@ -1707,16 +1745,16 @@ class DOMUtils extends DOMUtilsEvent {
1707
1745
  element = element;
1708
1746
  element.style.opacity = Math.min(progress / duration, 1).toString();
1709
1747
  if (progress < duration) {
1710
- DOMUtilsCore.window.requestAnimationFrame(step);
1748
+ DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1711
1749
  }
1712
1750
  else {
1713
1751
  if (callback && typeof callback === "function") {
1714
1752
  callback();
1715
1753
  }
1716
- DOMUtilsCore.window.cancelAnimationFrame(timer);
1754
+ DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
1717
1755
  }
1718
1756
  }
1719
- timer = DOMUtilsCore.window.requestAnimationFrame(step);
1757
+ timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1720
1758
  }
1721
1759
  /**
1722
1760
  * 淡出元素
@@ -1733,11 +1771,12 @@ class DOMUtils extends DOMUtilsEvent {
1733
1771
  * })
1734
1772
  */
1735
1773
  fadeOut(element, duration = 400, callback) {
1774
+ let DOMUtilsContext = this;
1736
1775
  if (element == null) {
1737
1776
  return;
1738
1777
  }
1739
1778
  if (typeof element === "string") {
1740
- element = DOMUtilsCore.document.querySelector(element);
1779
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1741
1780
  }
1742
1781
  element = element;
1743
1782
  element.style.opacity = "1";
@@ -1750,17 +1789,17 @@ class DOMUtils extends DOMUtilsEvent {
1750
1789
  element = element;
1751
1790
  element.style.opacity = Math.max(1 - progress / duration, 0).toString();
1752
1791
  if (progress < duration) {
1753
- DOMUtilsCore.window.requestAnimationFrame(step);
1792
+ DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1754
1793
  }
1755
1794
  else {
1756
1795
  element.style.display = "none";
1757
1796
  if (typeof callback === "function") {
1758
1797
  callback();
1759
1798
  }
1760
- DOMUtilsCore.window.cancelAnimationFrame(timer);
1799
+ DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
1761
1800
  }
1762
1801
  }
1763
- timer = DOMUtilsCore.window.requestAnimationFrame(step);
1802
+ timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1764
1803
  }
1765
1804
  /**
1766
1805
  * 切换元素的显示和隐藏状态
@@ -1773,7 +1812,7 @@ class DOMUtils extends DOMUtilsEvent {
1773
1812
  toggle(element) {
1774
1813
  let DOMUtilsContext = this;
1775
1814
  if (typeof element === "string") {
1776
- element = DOMUtilsCore.document.querySelector(element);
1815
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1777
1816
  }
1778
1817
  if (element == null) {
1779
1818
  return;
@@ -1802,6 +1841,7 @@ class DOMUtils extends DOMUtilsEvent {
1802
1841
  * DOMUtils.getTextBoundingRect(document.querySelector("input"));
1803
1842
  */
1804
1843
  getTextBoundingRect($input, selectionStart, selectionEnd) {
1844
+ let DOMUtilsContext = this;
1805
1845
  // Basic parameter validation
1806
1846
  if (!$input || !("value" in $input))
1807
1847
  return $input;
@@ -1871,7 +1911,7 @@ class DOMUtils extends DOMUtilsEvent {
1871
1911
  }
1872
1912
  // End of CSS variable checks
1873
1913
  // 不能为空,不然获取不到高度
1874
- let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsCore.document.createElement("div");
1914
+ let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsContext.windowApi.document.createElement("div");
1875
1915
  if (selectionStart > 0)
1876
1916
  appendPart(0, selectionStart);
1877
1917
  var fakeRange = appendPart(selectionStart, selectionEnd);
@@ -1885,7 +1925,7 @@ class DOMUtils extends DOMUtilsEvent {
1885
1925
  fakeClone.style.left = leftPos + "px";
1886
1926
  fakeClone.style.width = width + "px";
1887
1927
  fakeClone.style.height = height + "px";
1888
- DOMUtilsCore.document.body.appendChild(fakeClone);
1928
+ DOMUtilsContext.windowApi.document.body.appendChild(fakeClone);
1889
1929
  var returnValue = fakeRange.getBoundingClientRect(); //Get rect
1890
1930
  fakeClone?.parentNode?.removeChild(fakeClone); //Remove temp
1891
1931
  return returnValue;
@@ -1897,7 +1937,7 @@ class DOMUtils extends DOMUtilsEvent {
1897
1937
  * @returns
1898
1938
  */
1899
1939
  function appendPart(start, end) {
1900
- var span = DOMUtilsCore.document.createElement("span");
1940
+ var span = DOMUtilsContext.windowApi.document.createElement("span");
1901
1941
  span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results
1902
1942
  span.textContent = text.substring(start, end);
1903
1943
  fakeClone.appendChild(span);
@@ -1905,7 +1945,7 @@ class DOMUtils extends DOMUtilsEvent {
1905
1945
  }
1906
1946
  // Computing offset position
1907
1947
  function getInputOffset() {
1908
- let body = DOMUtilsCore.document.body, win = DOMUtilsCore.document.defaultView, docElem = DOMUtilsCore.document.documentElement, $box = DOMUtilsCore.document.createElement("div");
1948
+ let body = DOMUtilsContext.windowApi.document.body, win = DOMUtilsContext.windowApi.document.defaultView, docElem = DOMUtilsContext.windowApi.document.documentElement, $box = DOMUtilsContext.windowApi.document.createElement("div");
1909
1949
  $box.style.paddingLeft = $box.style.width = "1px";
1910
1950
  body.appendChild($box);
1911
1951
  var isBoxModel = $box.offsetWidth == 2;
@@ -1928,7 +1968,7 @@ class DOMUtils extends DOMUtilsEvent {
1928
1968
  * @returns
1929
1969
  */
1930
1970
  function getInputCSS(prop, isNumber) {
1931
- var val = DOMUtilsCore.document
1971
+ var val = DOMUtilsContext.windowApi.document
1932
1972
  .defaultView.getComputedStyle($input, null)
1933
1973
  .getPropertyValue(prop);
1934
1974
  return isNumber ? parseFloat(val) : val;