@whitesev/domutils 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
- DOMUtilsCore.document.documentElement.appendChild(dupNode);
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 === DOMUtilsCore.globalThis) {
81
+ if (target === globalThis) {
113
82
  return true;
114
83
  }
115
- if (target === DOMUtilsCore.window) {
84
+ if (target === window) {
116
85
  return true;
117
86
  }
118
- if (target === DOMUtilsCore.self) {
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 = DOMUtilsCore.document.querySelectorAll(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
- ? DOMUtilsCore.document.documentElement
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 = DOMUtilsCore.document.querySelectorAll(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 = DOMUtilsCore.document.querySelectorAll(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 (DOMUtilsCore.document.readyState === "complete" ||
449
- (DOMUtilsCore.document.readyState !== "loading" &&
450
- !DOMUtilsCore.document.documentElement.doScroll)) {
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: DOMUtilsCore.document,
481
+ target: DOMUtilsContext.windowApi.document,
471
482
  eventType: "DOMContentLoaded",
472
483
  callback: completed,
473
484
  },
474
485
  {
475
- target: DOMUtilsCore.window,
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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(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 = DOMUtilsCore.document.querySelector(target);
740
+ target = DOMUtilsContext.windowApi.document.querySelector(target);
729
741
  }
730
742
  DOMUtilsContext.on(target, "keydown", null, handler, option);
731
743
  }
@@ -750,22 +762,113 @@ var DOMUtils = (function () {
750
762
  return;
751
763
  }
752
764
  if (typeof target === "string") {
753
- target = DOMUtilsCore.document.querySelector(target);
765
+ target = DOMUtilsContext.windowApi.document.querySelector(target);
754
766
  }
755
767
  DOMUtilsContext.on(target, "keypress", null, handler, option);
756
768
  }
769
+ /**
770
+ * 监听某个元素键盘按键事件或window全局按键事件
771
+ * 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
772
+ * @param target 需要监听的对象,可以是全局Window或者某个元素
773
+ * @param eventName 事件名,默认keypress
774
+ * @param callback 自己定义的回调事件,参数1为当前的key,参数2为组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)
775
+ * @param options 监听事件的配置
776
+ * @example
777
+ Utils.listenKeyboard(window,(keyName,keyValue,otherKey,event)=>{
778
+ if(keyName === "Enter"){
779
+ console.log("回车按键的值是:"+keyValue)
780
+ }
781
+ if(otherKey.indexOf("ctrl") && keyName === "Enter" ){
782
+ console.log("Ctrl和回车键");
783
+ }
784
+ })
785
+ * @example
786
+ 字母和数字键的键码值(keyCode)
787
+ 按键 键码 按键 键码 按键 键码 按键 键码
788
+ A 65 J 74 S 83 1 49
789
+ B 66 K 75 T 84 2 50
790
+ C 67 L 76 U 85 3 51
791
+ D 68 M 77 V 86 4 52
792
+ E 69 N 78 W 87 5 53
793
+ F 70 O 79 X 88 6 54
794
+ G 71 P 80 Y 89 7 55
795
+ H 72 Q 81 Z 90 8 56
796
+ I 73 R 82 0 48 9 57
797
+
798
+ 数字键盘上的键的键码值(keyCode)
799
+ 功能键键码值(keyCode)
800
+ 按键 键码 按键 键码 按键 键码 按键 键码
801
+ 0 96 8 104 F1 112 F7 118
802
+ 1 97 9 105 F2 113 F8 119
803
+ 2 98 * 106 F3 114 F9 120
804
+ 3 99 + 107 F4 115 F10 121
805
+ 4 100 Enter 108 F5 116 F11 122
806
+ 5 101 - 109 F6 117 F12 123
807
+ 6 102 . 110
808
+ 7 103 / 111
809
+
810
+ 控制键键码值(keyCode)
811
+ 按键 键码 按键 键码 按键 键码 按键 键码
812
+ BackSpace 8 Esc 27 → 39 -_ 189
813
+ Tab 9 Spacebar 32 ↓ 40 .> 190
814
+ Clear 12 Page Up 33 Insert 45 /? 191
815
+ Enter 13 Page Down 34 Delete 46 `~ 192
816
+ Shift 16 End 35 Num Lock 144 [{ 219
817
+ Control 17 Home 36 ;: 186 \| 220
818
+ Alt 18 ← 37 =+ 187 ]} 221
819
+ Cape Lock 20 ↑ 38 ,< 188 '" 222
820
+
821
+ 多媒体键码值(keyCode)
822
+ 按键 键码
823
+ 音量加 175
824
+ 音量减 174
825
+ 停止 179
826
+ 静音 173
827
+ 浏览器 172
828
+ 邮件 180
829
+ 搜索 170
830
+ 收藏 171
831
+ **/
832
+ listenKeyboard(target, eventName = "keypress", callback, options) {
833
+ let keyboardEventCallBack = function (event) {
834
+ let keyName = event.key || event.code;
835
+ let keyValue = event.charCode || event.keyCode || event.which;
836
+ let otherCodeList = [];
837
+ if (event.ctrlKey) {
838
+ otherCodeList.push("ctrl");
839
+ }
840
+ if (event.altKey) {
841
+ otherCodeList.push("alt");
842
+ }
843
+ if (event.metaKey) {
844
+ otherCodeList.push("meta");
845
+ }
846
+ if (event.shiftKey) {
847
+ otherCodeList.push("shift");
848
+ }
849
+ if (typeof callback === "function") {
850
+ callback(keyName, keyValue.toString(), otherCodeList, event);
851
+ }
852
+ };
853
+ this.on(target, eventName, keyboardEventCallBack, options);
854
+ return {
855
+ removeListen: () => {
856
+ this.off(target, eventName, keyboardEventCallBack, options);
857
+ },
858
+ };
859
+ }
757
860
  }
758
861
 
759
862
  class DOMUtils extends DOMUtilsEvent {
760
863
  constructor(option) {
761
- DOMUtilsCore.init(option);
762
- super();
864
+ super(option);
763
865
  }
764
866
  /** 版本号 */
765
- version = "2024.6.21";
867
+ version = "2024.8.30";
766
868
  attr(element, attrName, attrValue) {
869
+ let DOMUtilsContext = this;
767
870
  if (typeof element === "string") {
768
- element = DOMUtilsCore.document.querySelector(element);
871
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
769
872
  }
770
873
  if (element == null) {
771
874
  return;
@@ -802,7 +905,8 @@ var DOMUtils = (function () {
802
905
  property,
803
906
  /** 自定义属性 */
804
907
  attributes) {
805
- let tempElement = DOMUtilsCore.document.createElement(tagName);
908
+ let DOMUtilsContext = this;
909
+ let tempElement = DOMUtilsContext.windowApi.document.createElement(tagName);
806
910
  if (typeof property === "string") {
807
911
  tempElement.innerHTML = property;
808
912
  return tempElement;
@@ -832,6 +936,7 @@ var DOMUtils = (function () {
832
936
  return tempElement;
833
937
  }
834
938
  css(element, property, value) {
939
+ let DOMUtilsContext = this;
835
940
  /**
836
941
  * 把纯数字没有px的加上
837
942
  */
@@ -856,7 +961,7 @@ var DOMUtils = (function () {
856
961
  return propertyValue;
857
962
  }
858
963
  if (typeof element === "string") {
859
- element = DOMUtilsCore.document.querySelector(element);
964
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
860
965
  }
861
966
  if (element == null) {
862
967
  return;
@@ -889,8 +994,9 @@ var DOMUtils = (function () {
889
994
  }
890
995
  }
891
996
  text(element, text) {
997
+ let DOMUtilsContext = this;
892
998
  if (typeof element === "string") {
893
- element = DOMUtilsCore.document.querySelector(element);
999
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
894
1000
  }
895
1001
  if (element == null) {
896
1002
  return;
@@ -911,8 +1017,9 @@ var DOMUtils = (function () {
911
1017
  }
912
1018
  }
913
1019
  html(element, html) {
1020
+ let DOMUtilsContext = this;
914
1021
  if (typeof element === "string") {
915
- element = DOMUtilsCore.document.querySelector(element);
1022
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
916
1023
  }
917
1024
  if (element == null) {
918
1025
  return;
@@ -965,8 +1072,9 @@ var DOMUtils = (function () {
965
1072
  };
966
1073
  }
967
1074
  val(element, value) {
1075
+ let DOMUtilsContext = this;
968
1076
  if (typeof element === "string") {
969
- element = DOMUtilsCore.document.querySelector(element);
1077
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
970
1078
  }
971
1079
  if (element == null) {
972
1080
  return;
@@ -991,11 +1099,12 @@ var DOMUtils = (function () {
991
1099
  }
992
1100
  }
993
1101
  prop(element, propName, propValue) {
1102
+ let DOMUtilsContext = this;
994
1103
  if (element == null) {
995
1104
  return;
996
1105
  }
997
1106
  if (typeof element === "string") {
998
- element = DOMUtilsCore.document.querySelector(element);
1107
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
999
1108
  }
1000
1109
  if (propValue == null) {
1001
1110
  return element[propName];
@@ -1014,8 +1123,9 @@ var DOMUtils = (function () {
1014
1123
  * DOMUtils.removeAttr("a.xx","data-value")
1015
1124
  * */
1016
1125
  removeAttr(element, attrName) {
1126
+ let DOMUtilsContext = this;
1017
1127
  if (typeof element === "string") {
1018
- element = DOMUtilsCore.document.querySelector(element);
1128
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1019
1129
  }
1020
1130
  if (element == null) {
1021
1131
  return;
@@ -1032,8 +1142,9 @@ var DOMUtils = (function () {
1032
1142
  * DOMUtils.removeClass("a.xx","xx")
1033
1143
  */
1034
1144
  removeClass(element, className) {
1145
+ let DOMUtilsContext = this;
1035
1146
  if (typeof element === "string") {
1036
- element = DOMUtilsCore.document.querySelector(element);
1147
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1037
1148
  }
1038
1149
  if (element == null) {
1039
1150
  return;
@@ -1053,8 +1164,9 @@ var DOMUtils = (function () {
1053
1164
  * DOMUtils.removeProp("a.xx","href")
1054
1165
  * */
1055
1166
  removeProp(element, propName) {
1167
+ let DOMUtilsContext = this;
1056
1168
  if (typeof element === "string") {
1057
- element = DOMUtilsCore.document.querySelector(element);
1169
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1058
1170
  }
1059
1171
  if (element == null) {
1060
1172
  return;
@@ -1073,7 +1185,7 @@ var DOMUtils = (function () {
1073
1185
  replaceWith(element, newElement) {
1074
1186
  let DOMUtilsContext = this;
1075
1187
  if (typeof element === "string") {
1076
- element = DOMUtilsCore.document.querySelector(element);
1188
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1077
1189
  }
1078
1190
  if (element == null) {
1079
1191
  return;
@@ -1100,8 +1212,9 @@ var DOMUtils = (function () {
1100
1212
  * DOMUtils.addClass("a.xx","_vue_")
1101
1213
  * */
1102
1214
  addClass(element, className) {
1215
+ let DOMUtilsContext = this;
1103
1216
  if (typeof element === "string") {
1104
- element = DOMUtilsCore.document.querySelector(element);
1217
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1105
1218
  }
1106
1219
  if (element == null) {
1107
1220
  return;
@@ -1118,8 +1231,9 @@ var DOMUtils = (function () {
1118
1231
  * DOMUtils.append("a.xx","'<b class="xx"></b>")
1119
1232
  * */
1120
1233
  append(element, content) {
1234
+ let DOMUtilsContext = this;
1121
1235
  if (typeof element === "string") {
1122
- element = DOMUtilsCore.document.querySelector(element);
1236
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1123
1237
  }
1124
1238
  if (element == null) {
1125
1239
  return;
@@ -1134,7 +1248,7 @@ var DOMUtils = (function () {
1134
1248
  }
1135
1249
  if (Array.isArray(content) || content instanceof NodeList) {
1136
1250
  /* 数组 */
1137
- let fragment = DOMUtilsCore.document.createDocumentFragment();
1251
+ let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
1138
1252
  content.forEach((ele) => {
1139
1253
  if (typeof ele === "string") {
1140
1254
  ele = this.parseHTML(ele, true, false);
@@ -1157,8 +1271,9 @@ var DOMUtils = (function () {
1157
1271
  * DOMUtils.prepend("a.xx","'<b class="xx"></b>")
1158
1272
  * */
1159
1273
  prepend(element, content) {
1274
+ let DOMUtilsContext = this;
1160
1275
  if (typeof element === "string") {
1161
- element = DOMUtilsCore.document.querySelector(element);
1276
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1162
1277
  }
1163
1278
  if (element == null) {
1164
1279
  return;
@@ -1180,8 +1295,9 @@ var DOMUtils = (function () {
1180
1295
  * DOMUtils.after("a.xx","'<b class="xx"></b>")
1181
1296
  * */
1182
1297
  after(element, content) {
1298
+ let DOMUtilsContext = this;
1183
1299
  if (typeof element === "string") {
1184
- element = DOMUtilsCore.document.querySelector(element);
1300
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1185
1301
  }
1186
1302
  if (element == null) {
1187
1303
  return;
@@ -1203,8 +1319,9 @@ var DOMUtils = (function () {
1203
1319
  * DOMUtils.before("a.xx","'<b class="xx"></b>")
1204
1320
  * */
1205
1321
  before(element, content) {
1322
+ let DOMUtilsContext = this;
1206
1323
  if (typeof element === "string") {
1207
- element = DOMUtilsCore.document.querySelector(element);
1324
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1208
1325
  }
1209
1326
  if (element == null) {
1210
1327
  return;
@@ -1228,7 +1345,7 @@ var DOMUtils = (function () {
1228
1345
  remove(target) {
1229
1346
  let DOMUtilsContext = this;
1230
1347
  if (typeof target === "string") {
1231
- target = DOMUtilsCore.document.querySelectorAll(target);
1348
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1232
1349
  }
1233
1350
  if (target == null) {
1234
1351
  return;
@@ -1252,8 +1369,9 @@ var DOMUtils = (function () {
1252
1369
  * DOMUtils.empty("a.xx")
1253
1370
  * */
1254
1371
  empty(element) {
1372
+ let DOMUtilsContext = this;
1255
1373
  if (typeof element === "string") {
1256
- element = DOMUtilsCore.document.querySelector(element);
1374
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1257
1375
  }
1258
1376
  if (element == null) {
1259
1377
  return;
@@ -1270,8 +1388,9 @@ var DOMUtils = (function () {
1270
1388
  * > 0
1271
1389
  */
1272
1390
  offset(element) {
1391
+ let DOMUtilsContext = this;
1273
1392
  if (typeof element === "string") {
1274
- element = DOMUtilsCore.document.querySelector(element);
1393
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1275
1394
  }
1276
1395
  if (element == null) {
1277
1396
  return;
@@ -1279,21 +1398,22 @@ var DOMUtils = (function () {
1279
1398
  let rect = element.getBoundingClientRect();
1280
1399
  return {
1281
1400
  /** y轴偏移 */
1282
- top: rect.top + DOMUtilsCore.globalThis.scrollY,
1401
+ top: rect.top + DOMUtilsContext.windowApi.globalThis.scrollY,
1283
1402
  /** x轴偏移 */
1284
- left: rect.left + DOMUtilsCore.globalThis.scrollX,
1403
+ left: rect.left + DOMUtilsContext.windowApi.globalThis.scrollX,
1285
1404
  };
1286
1405
  }
1287
1406
  width(element, isShow = false) {
1288
1407
  let DOMUtilsContext = this;
1289
1408
  if (typeof element === "string") {
1290
- element = DOMUtilsCore.document.querySelector(element);
1409
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1291
1410
  }
1292
1411
  if (element == null) {
1293
1412
  return;
1294
1413
  }
1295
1414
  if (DOMUtilsCommonUtils.isWin(element)) {
1296
- return DOMUtilsCore.window.document.documentElement.clientWidth;
1415
+ return DOMUtilsContext.windowApi.window.document.documentElement
1416
+ .clientWidth;
1297
1417
  }
1298
1418
  if (element.nodeType === 9) {
1299
1419
  /* Document文档节点 */
@@ -1336,10 +1456,11 @@ var DOMUtils = (function () {
1336
1456
  height(element, isShow = false) {
1337
1457
  let DOMUtilsContext = this;
1338
1458
  if (DOMUtilsCommonUtils.isWin(element)) {
1339
- return DOMUtilsCore.window.document.documentElement.clientHeight;
1459
+ return DOMUtilsContext.windowApi.window.document.documentElement
1460
+ .clientHeight;
1340
1461
  }
1341
1462
  if (typeof element === "string") {
1342
- element = DOMUtilsCore.document.querySelector(element);
1463
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1343
1464
  }
1344
1465
  if (element == null) {
1345
1466
  // @ts-ignore
@@ -1386,10 +1507,10 @@ var DOMUtils = (function () {
1386
1507
  outerWidth(element, isShow = false) {
1387
1508
  let DOMUtilsContext = this;
1388
1509
  if (DOMUtilsCommonUtils.isWin(element)) {
1389
- return DOMUtilsCore.window.innerWidth;
1510
+ return DOMUtilsContext.windowApi.window.innerWidth;
1390
1511
  }
1391
1512
  if (typeof element === "string") {
1392
- element = DOMUtilsCore.document.querySelector(element);
1513
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1393
1514
  }
1394
1515
  if (element == null) {
1395
1516
  // @ts-ignore
@@ -1412,10 +1533,10 @@ var DOMUtils = (function () {
1412
1533
  outerHeight(element, isShow = false) {
1413
1534
  let DOMUtilsContext = this;
1414
1535
  if (DOMUtilsCommonUtils.isWin(element)) {
1415
- return DOMUtilsCore.window.innerHeight;
1536
+ return DOMUtilsContext.windowApi.window.innerHeight;
1416
1537
  }
1417
1538
  if (typeof element === "string") {
1418
- element = DOMUtilsCore.document.querySelector(element);
1539
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1419
1540
  }
1420
1541
  if (element == null) {
1421
1542
  // @ts-ignore
@@ -1448,8 +1569,9 @@ var DOMUtils = (function () {
1448
1569
  * })
1449
1570
  */
1450
1571
  animate(element, styles, duration = 1000, callback = null) {
1572
+ let DOMUtilsContext = this;
1451
1573
  if (typeof element === "string") {
1452
- element = DOMUtilsCore.document.querySelector(element);
1574
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1453
1575
  }
1454
1576
  if (element == null) {
1455
1577
  return;
@@ -1500,15 +1622,16 @@ var DOMUtils = (function () {
1500
1622
  * DOMUtils.wrap(document.querySelector("a.xx"),"<div></div>")
1501
1623
  */
1502
1624
  wrap(element, wrapperHTML) {
1625
+ let DOMUtilsContext = this;
1503
1626
  if (typeof element === "string") {
1504
- element = DOMUtilsCore.document.querySelector(element);
1627
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1505
1628
  }
1506
1629
  if (element == null) {
1507
1630
  return;
1508
1631
  }
1509
1632
  element = element;
1510
1633
  // 创建一个新的div元素,并将wrapperHTML作为其innerHTML
1511
- let wrapper = DOMUtilsCore.document.createElement("div");
1634
+ let wrapper = DOMUtilsContext.windowApi.document.createElement("div");
1512
1635
  wrapper.innerHTML = wrapperHTML;
1513
1636
  let wrapperFirstChild = wrapper.firstChild;
1514
1637
  // 将要包裹的元素插入目标元素前面
@@ -1517,8 +1640,9 @@ var DOMUtils = (function () {
1517
1640
  wrapperFirstChild.appendChild(element);
1518
1641
  }
1519
1642
  prev(element) {
1643
+ let DOMUtilsContext = this;
1520
1644
  if (typeof element === "string") {
1521
- element = DOMUtilsCore.document.querySelector(element);
1645
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1522
1646
  }
1523
1647
  if (element == null) {
1524
1648
  return;
@@ -1526,8 +1650,9 @@ var DOMUtils = (function () {
1526
1650
  return element.previousElementSibling;
1527
1651
  }
1528
1652
  next(element) {
1653
+ let DOMUtilsContext = this;
1529
1654
  if (typeof element === "string") {
1530
- element = DOMUtilsCore.document.querySelector(element);
1655
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1531
1656
  }
1532
1657
  if (element == null) {
1533
1658
  return;
@@ -1540,15 +1665,17 @@ var DOMUtils = (function () {
1540
1665
  * let DOMUtils = window.DOMUtils.noConflict()
1541
1666
  */
1542
1667
  noConflict() {
1543
- if (DOMUtilsCore.window.DOMUtils) {
1668
+ let DOMUtilsContext = this;
1669
+ if (DOMUtilsContext.windowApi.window.DOMUtils) {
1544
1670
  DOMUtilsCommonUtils.delete(window, "DOMUtils");
1545
1671
  }
1546
- DOMUtilsCore.window.DOMUtils = this;
1672
+ DOMUtilsContext.windowApi.window.DOMUtils = this;
1547
1673
  return this;
1548
1674
  }
1549
1675
  siblings(element) {
1676
+ let DOMUtilsContext = this;
1550
1677
  if (typeof element === "string") {
1551
- element = DOMUtilsCore.document.querySelector(element);
1678
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1552
1679
  }
1553
1680
  if (element == null) {
1554
1681
  return;
@@ -1569,7 +1696,7 @@ var DOMUtils = (function () {
1569
1696
  parent(element) {
1570
1697
  let DOMUtilsContext = this;
1571
1698
  if (typeof element === "string") {
1572
- element = DOMUtilsCore.document.querySelector(element);
1699
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1573
1700
  }
1574
1701
  if (element == null) {
1575
1702
  return;
@@ -1587,6 +1714,7 @@ var DOMUtils = (function () {
1587
1714
  }
1588
1715
  }
1589
1716
  parseHTML(html, useParser = false, isComplete = false) {
1717
+ let DOMUtilsContext = this;
1590
1718
  function parseHTMLByDOMParser() {
1591
1719
  let parser = new DOMParser();
1592
1720
  if (isComplete) {
@@ -1597,7 +1725,7 @@ var DOMUtils = (function () {
1597
1725
  }
1598
1726
  }
1599
1727
  function parseHTMLByCreateDom() {
1600
- let tempDIV = DOMUtilsCore.document.createElement("div");
1728
+ let tempDIV = DOMUtilsContext.windowApi.document.createElement("div");
1601
1729
  tempDIV.innerHTML = html;
1602
1730
  if (isComplete) {
1603
1731
  return tempDIV;
@@ -1628,7 +1756,7 @@ var DOMUtils = (function () {
1628
1756
  return;
1629
1757
  }
1630
1758
  if (typeof target === "string") {
1631
- target = DOMUtilsCore.document.querySelectorAll(target);
1759
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1632
1760
  }
1633
1761
  if (target instanceof NodeList || target instanceof Array) {
1634
1762
  target = target;
@@ -1660,7 +1788,7 @@ var DOMUtils = (function () {
1660
1788
  return;
1661
1789
  }
1662
1790
  if (typeof target === "string") {
1663
- target = DOMUtilsCore.document.querySelectorAll(target);
1791
+ target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
1664
1792
  }
1665
1793
  if (target instanceof NodeList || target instanceof Array) {
1666
1794
  target = target;
@@ -1695,8 +1823,9 @@ var DOMUtils = (function () {
1695
1823
  if (element == null) {
1696
1824
  return;
1697
1825
  }
1826
+ let DOMUtilsContext = this;
1698
1827
  if (typeof element === "string") {
1699
- element = DOMUtilsCore.document.querySelector(element);
1828
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1700
1829
  }
1701
1830
  element = element;
1702
1831
  element.style.opacity = "0";
@@ -1710,16 +1839,16 @@ var DOMUtils = (function () {
1710
1839
  element = element;
1711
1840
  element.style.opacity = Math.min(progress / duration, 1).toString();
1712
1841
  if (progress < duration) {
1713
- DOMUtilsCore.window.requestAnimationFrame(step);
1842
+ DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1714
1843
  }
1715
1844
  else {
1716
1845
  if (callback && typeof callback === "function") {
1717
1846
  callback();
1718
1847
  }
1719
- DOMUtilsCore.window.cancelAnimationFrame(timer);
1848
+ DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
1720
1849
  }
1721
1850
  }
1722
- timer = DOMUtilsCore.window.requestAnimationFrame(step);
1851
+ timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1723
1852
  }
1724
1853
  /**
1725
1854
  * 淡出元素
@@ -1736,11 +1865,12 @@ var DOMUtils = (function () {
1736
1865
  * })
1737
1866
  */
1738
1867
  fadeOut(element, duration = 400, callback) {
1868
+ let DOMUtilsContext = this;
1739
1869
  if (element == null) {
1740
1870
  return;
1741
1871
  }
1742
1872
  if (typeof element === "string") {
1743
- element = DOMUtilsCore.document.querySelector(element);
1873
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1744
1874
  }
1745
1875
  element = element;
1746
1876
  element.style.opacity = "1";
@@ -1753,17 +1883,17 @@ var DOMUtils = (function () {
1753
1883
  element = element;
1754
1884
  element.style.opacity = Math.max(1 - progress / duration, 0).toString();
1755
1885
  if (progress < duration) {
1756
- DOMUtilsCore.window.requestAnimationFrame(step);
1886
+ DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1757
1887
  }
1758
1888
  else {
1759
1889
  element.style.display = "none";
1760
1890
  if (typeof callback === "function") {
1761
1891
  callback();
1762
1892
  }
1763
- DOMUtilsCore.window.cancelAnimationFrame(timer);
1893
+ DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
1764
1894
  }
1765
1895
  }
1766
- timer = DOMUtilsCore.window.requestAnimationFrame(step);
1896
+ timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
1767
1897
  }
1768
1898
  /**
1769
1899
  * 切换元素的显示和隐藏状态
@@ -1776,7 +1906,7 @@ var DOMUtils = (function () {
1776
1906
  toggle(element) {
1777
1907
  let DOMUtilsContext = this;
1778
1908
  if (typeof element === "string") {
1779
- element = DOMUtilsCore.document.querySelector(element);
1909
+ element = DOMUtilsContext.windowApi.document.querySelector(element);
1780
1910
  }
1781
1911
  if (element == null) {
1782
1912
  return;
@@ -1805,6 +1935,7 @@ var DOMUtils = (function () {
1805
1935
  * DOMUtils.getTextBoundingRect(document.querySelector("input"));
1806
1936
  */
1807
1937
  getTextBoundingRect($input, selectionStart, selectionEnd) {
1938
+ let DOMUtilsContext = this;
1808
1939
  // Basic parameter validation
1809
1940
  if (!$input || !("value" in $input))
1810
1941
  return $input;
@@ -1874,7 +2005,7 @@ var DOMUtils = (function () {
1874
2005
  }
1875
2006
  // End of CSS variable checks
1876
2007
  // 不能为空,不然获取不到高度
1877
- let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsCore.document.createElement("div");
2008
+ let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsContext.windowApi.document.createElement("div");
1878
2009
  if (selectionStart > 0)
1879
2010
  appendPart(0, selectionStart);
1880
2011
  var fakeRange = appendPart(selectionStart, selectionEnd);
@@ -1888,7 +2019,7 @@ var DOMUtils = (function () {
1888
2019
  fakeClone.style.left = leftPos + "px";
1889
2020
  fakeClone.style.width = width + "px";
1890
2021
  fakeClone.style.height = height + "px";
1891
- DOMUtilsCore.document.body.appendChild(fakeClone);
2022
+ DOMUtilsContext.windowApi.document.body.appendChild(fakeClone);
1892
2023
  var returnValue = fakeRange.getBoundingClientRect(); //Get rect
1893
2024
  fakeClone?.parentNode?.removeChild(fakeClone); //Remove temp
1894
2025
  return returnValue;
@@ -1900,7 +2031,7 @@ var DOMUtils = (function () {
1900
2031
  * @returns
1901
2032
  */
1902
2033
  function appendPart(start, end) {
1903
- var span = DOMUtilsCore.document.createElement("span");
2034
+ var span = DOMUtilsContext.windowApi.document.createElement("span");
1904
2035
  span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results
1905
2036
  span.textContent = text.substring(start, end);
1906
2037
  fakeClone.appendChild(span);
@@ -1908,7 +2039,7 @@ var DOMUtils = (function () {
1908
2039
  }
1909
2040
  // Computing offset position
1910
2041
  function getInputOffset() {
1911
- let body = DOMUtilsCore.document.body, win = DOMUtilsCore.document.defaultView, docElem = DOMUtilsCore.document.documentElement, $box = DOMUtilsCore.document.createElement("div");
2042
+ let body = DOMUtilsContext.windowApi.document.body, win = DOMUtilsContext.windowApi.document.defaultView, docElem = DOMUtilsContext.windowApi.document.documentElement, $box = DOMUtilsContext.windowApi.document.createElement("div");
1912
2043
  $box.style.paddingLeft = $box.style.width = "1px";
1913
2044
  body.appendChild($box);
1914
2045
  var isBoxModel = $box.offsetWidth == 2;
@@ -1931,7 +2062,7 @@ var DOMUtils = (function () {
1931
2062
  * @returns
1932
2063
  */
1933
2064
  function getInputCSS(prop, isNumber) {
1934
- var val = DOMUtilsCore.document
2065
+ var val = DOMUtilsContext.windowApi.document
1935
2066
  .defaultView.getComputedStyle($input, null)
1936
2067
  .getPropertyValue(prop);
1937
2068
  return isNumber ? parseFloat(val) : val;