@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.
- package/dist/index.amd.js +246 -115
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +246 -115
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +246 -115
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +246 -115
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +246 -115
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +246 -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 +70 -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 +148 -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.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
|
-
|
|
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 ===
|
|
78
|
+
if (target === globalThis) {
|
|
110
79
|
return true;
|
|
111
80
|
}
|
|
112
|
-
if (target ===
|
|
81
|
+
if (target === window) {
|
|
113
82
|
return true;
|
|
114
83
|
}
|
|
115
|
-
if (target ===
|
|
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 =
|
|
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
|
-
?
|
|
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 =
|
|
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 =
|
|
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 (
|
|
446
|
-
(
|
|
447
|
-
!
|
|
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:
|
|
478
|
+
target: DOMUtilsContext.windowApi.document,
|
|
468
479
|
eventType: "DOMContentLoaded",
|
|
469
480
|
callback: completed,
|
|
470
481
|
},
|
|
471
482
|
{
|
|
472
|
-
target:
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
737
|
+
target = DOMUtilsContext.windowApi.document.querySelector(target);
|
|
726
738
|
}
|
|
727
739
|
DOMUtilsContext.on(target, "keydown", null, handler, option);
|
|
728
740
|
}
|
|
@@ -747,22 +759,113 @@ class DOMUtilsEvent {
|
|
|
747
759
|
return;
|
|
748
760
|
}
|
|
749
761
|
if (typeof target === "string") {
|
|
750
|
-
target =
|
|
762
|
+
target = DOMUtilsContext.windowApi.document.querySelector(target);
|
|
751
763
|
}
|
|
752
764
|
DOMUtilsContext.on(target, "keypress", null, handler, option);
|
|
753
765
|
}
|
|
766
|
+
/**
|
|
767
|
+
* 监听某个元素键盘按键事件或window全局按键事件
|
|
768
|
+
* 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
|
|
769
|
+
* @param target 需要监听的对象,可以是全局Window或者某个元素
|
|
770
|
+
* @param eventName 事件名,默认keypress
|
|
771
|
+
* @param callback 自己定义的回调事件,参数1为当前的key,参数2为组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)
|
|
772
|
+
* @param options 监听事件的配置
|
|
773
|
+
* @example
|
|
774
|
+
Utils.listenKeyboard(window,(keyName,keyValue,otherKey,event)=>{
|
|
775
|
+
if(keyName === "Enter"){
|
|
776
|
+
console.log("回车按键的值是:"+keyValue)
|
|
777
|
+
}
|
|
778
|
+
if(otherKey.indexOf("ctrl") && keyName === "Enter" ){
|
|
779
|
+
console.log("Ctrl和回车键");
|
|
780
|
+
}
|
|
781
|
+
})
|
|
782
|
+
* @example
|
|
783
|
+
字母和数字键的键码值(keyCode)
|
|
784
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
785
|
+
A 65 J 74 S 83 1 49
|
|
786
|
+
B 66 K 75 T 84 2 50
|
|
787
|
+
C 67 L 76 U 85 3 51
|
|
788
|
+
D 68 M 77 V 86 4 52
|
|
789
|
+
E 69 N 78 W 87 5 53
|
|
790
|
+
F 70 O 79 X 88 6 54
|
|
791
|
+
G 71 P 80 Y 89 7 55
|
|
792
|
+
H 72 Q 81 Z 90 8 56
|
|
793
|
+
I 73 R 82 0 48 9 57
|
|
794
|
+
|
|
795
|
+
数字键盘上的键的键码值(keyCode)
|
|
796
|
+
功能键键码值(keyCode)
|
|
797
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
798
|
+
0 96 8 104 F1 112 F7 118
|
|
799
|
+
1 97 9 105 F2 113 F8 119
|
|
800
|
+
2 98 * 106 F3 114 F9 120
|
|
801
|
+
3 99 + 107 F4 115 F10 121
|
|
802
|
+
4 100 Enter 108 F5 116 F11 122
|
|
803
|
+
5 101 - 109 F6 117 F12 123
|
|
804
|
+
6 102 . 110
|
|
805
|
+
7 103 / 111
|
|
806
|
+
|
|
807
|
+
控制键键码值(keyCode)
|
|
808
|
+
按键 键码 按键 键码 按键 键码 按键 键码
|
|
809
|
+
BackSpace 8 Esc 27 → 39 -_ 189
|
|
810
|
+
Tab 9 Spacebar 32 ↓ 40 .> 190
|
|
811
|
+
Clear 12 Page Up 33 Insert 45 /? 191
|
|
812
|
+
Enter 13 Page Down 34 Delete 46 `~ 192
|
|
813
|
+
Shift 16 End 35 Num Lock 144 [{ 219
|
|
814
|
+
Control 17 Home 36 ;: 186 \| 220
|
|
815
|
+
Alt 18 ← 37 =+ 187 ]} 221
|
|
816
|
+
Cape Lock 20 ↑ 38 ,< 188 '" 222
|
|
817
|
+
|
|
818
|
+
多媒体键码值(keyCode)
|
|
819
|
+
按键 键码
|
|
820
|
+
音量加 175
|
|
821
|
+
音量减 174
|
|
822
|
+
停止 179
|
|
823
|
+
静音 173
|
|
824
|
+
浏览器 172
|
|
825
|
+
邮件 180
|
|
826
|
+
搜索 170
|
|
827
|
+
收藏 171
|
|
828
|
+
**/
|
|
829
|
+
listenKeyboard(target, eventName = "keypress", callback, options) {
|
|
830
|
+
let keyboardEventCallBack = function (event) {
|
|
831
|
+
let keyName = event.key || event.code;
|
|
832
|
+
let keyValue = event.charCode || event.keyCode || event.which;
|
|
833
|
+
let otherCodeList = [];
|
|
834
|
+
if (event.ctrlKey) {
|
|
835
|
+
otherCodeList.push("ctrl");
|
|
836
|
+
}
|
|
837
|
+
if (event.altKey) {
|
|
838
|
+
otherCodeList.push("alt");
|
|
839
|
+
}
|
|
840
|
+
if (event.metaKey) {
|
|
841
|
+
otherCodeList.push("meta");
|
|
842
|
+
}
|
|
843
|
+
if (event.shiftKey) {
|
|
844
|
+
otherCodeList.push("shift");
|
|
845
|
+
}
|
|
846
|
+
if (typeof callback === "function") {
|
|
847
|
+
callback(keyName, keyValue.toString(), otherCodeList, event);
|
|
848
|
+
}
|
|
849
|
+
};
|
|
850
|
+
this.on(target, eventName, keyboardEventCallBack, options);
|
|
851
|
+
return {
|
|
852
|
+
removeListen: () => {
|
|
853
|
+
this.off(target, eventName, keyboardEventCallBack, options);
|
|
854
|
+
},
|
|
855
|
+
};
|
|
856
|
+
}
|
|
754
857
|
}
|
|
755
858
|
|
|
756
859
|
class DOMUtils extends DOMUtilsEvent {
|
|
757
860
|
constructor(option) {
|
|
758
|
-
|
|
759
|
-
super();
|
|
861
|
+
super(option);
|
|
760
862
|
}
|
|
761
863
|
/** 版本号 */
|
|
762
|
-
version = "2024.
|
|
864
|
+
version = "2024.8.30";
|
|
763
865
|
attr(element, attrName, attrValue) {
|
|
866
|
+
let DOMUtilsContext = this;
|
|
764
867
|
if (typeof element === "string") {
|
|
765
|
-
element =
|
|
868
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
766
869
|
}
|
|
767
870
|
if (element == null) {
|
|
768
871
|
return;
|
|
@@ -799,7 +902,8 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
799
902
|
property,
|
|
800
903
|
/** 自定义属性 */
|
|
801
904
|
attributes) {
|
|
802
|
-
let
|
|
905
|
+
let DOMUtilsContext = this;
|
|
906
|
+
let tempElement = DOMUtilsContext.windowApi.document.createElement(tagName);
|
|
803
907
|
if (typeof property === "string") {
|
|
804
908
|
tempElement.innerHTML = property;
|
|
805
909
|
return tempElement;
|
|
@@ -829,6 +933,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
829
933
|
return tempElement;
|
|
830
934
|
}
|
|
831
935
|
css(element, property, value) {
|
|
936
|
+
let DOMUtilsContext = this;
|
|
832
937
|
/**
|
|
833
938
|
* 把纯数字没有px的加上
|
|
834
939
|
*/
|
|
@@ -853,7 +958,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
853
958
|
return propertyValue;
|
|
854
959
|
}
|
|
855
960
|
if (typeof element === "string") {
|
|
856
|
-
element =
|
|
961
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
857
962
|
}
|
|
858
963
|
if (element == null) {
|
|
859
964
|
return;
|
|
@@ -886,8 +991,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
886
991
|
}
|
|
887
992
|
}
|
|
888
993
|
text(element, text) {
|
|
994
|
+
let DOMUtilsContext = this;
|
|
889
995
|
if (typeof element === "string") {
|
|
890
|
-
element =
|
|
996
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
891
997
|
}
|
|
892
998
|
if (element == null) {
|
|
893
999
|
return;
|
|
@@ -908,8 +1014,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
908
1014
|
}
|
|
909
1015
|
}
|
|
910
1016
|
html(element, html) {
|
|
1017
|
+
let DOMUtilsContext = this;
|
|
911
1018
|
if (typeof element === "string") {
|
|
912
|
-
element =
|
|
1019
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
913
1020
|
}
|
|
914
1021
|
if (element == null) {
|
|
915
1022
|
return;
|
|
@@ -962,8 +1069,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
962
1069
|
};
|
|
963
1070
|
}
|
|
964
1071
|
val(element, value) {
|
|
1072
|
+
let DOMUtilsContext = this;
|
|
965
1073
|
if (typeof element === "string") {
|
|
966
|
-
element =
|
|
1074
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
967
1075
|
}
|
|
968
1076
|
if (element == null) {
|
|
969
1077
|
return;
|
|
@@ -988,11 +1096,12 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
988
1096
|
}
|
|
989
1097
|
}
|
|
990
1098
|
prop(element, propName, propValue) {
|
|
1099
|
+
let DOMUtilsContext = this;
|
|
991
1100
|
if (element == null) {
|
|
992
1101
|
return;
|
|
993
1102
|
}
|
|
994
1103
|
if (typeof element === "string") {
|
|
995
|
-
element =
|
|
1104
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
996
1105
|
}
|
|
997
1106
|
if (propValue == null) {
|
|
998
1107
|
return element[propName];
|
|
@@ -1011,8 +1120,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1011
1120
|
* DOMUtils.removeAttr("a.xx","data-value")
|
|
1012
1121
|
* */
|
|
1013
1122
|
removeAttr(element, attrName) {
|
|
1123
|
+
let DOMUtilsContext = this;
|
|
1014
1124
|
if (typeof element === "string") {
|
|
1015
|
-
element =
|
|
1125
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1016
1126
|
}
|
|
1017
1127
|
if (element == null) {
|
|
1018
1128
|
return;
|
|
@@ -1029,8 +1139,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1029
1139
|
* DOMUtils.removeClass("a.xx","xx")
|
|
1030
1140
|
*/
|
|
1031
1141
|
removeClass(element, className) {
|
|
1142
|
+
let DOMUtilsContext = this;
|
|
1032
1143
|
if (typeof element === "string") {
|
|
1033
|
-
element =
|
|
1144
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1034
1145
|
}
|
|
1035
1146
|
if (element == null) {
|
|
1036
1147
|
return;
|
|
@@ -1050,8 +1161,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1050
1161
|
* DOMUtils.removeProp("a.xx","href")
|
|
1051
1162
|
* */
|
|
1052
1163
|
removeProp(element, propName) {
|
|
1164
|
+
let DOMUtilsContext = this;
|
|
1053
1165
|
if (typeof element === "string") {
|
|
1054
|
-
element =
|
|
1166
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1055
1167
|
}
|
|
1056
1168
|
if (element == null) {
|
|
1057
1169
|
return;
|
|
@@ -1070,7 +1182,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1070
1182
|
replaceWith(element, newElement) {
|
|
1071
1183
|
let DOMUtilsContext = this;
|
|
1072
1184
|
if (typeof element === "string") {
|
|
1073
|
-
element =
|
|
1185
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1074
1186
|
}
|
|
1075
1187
|
if (element == null) {
|
|
1076
1188
|
return;
|
|
@@ -1097,8 +1209,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1097
1209
|
* DOMUtils.addClass("a.xx","_vue_")
|
|
1098
1210
|
* */
|
|
1099
1211
|
addClass(element, className) {
|
|
1212
|
+
let DOMUtilsContext = this;
|
|
1100
1213
|
if (typeof element === "string") {
|
|
1101
|
-
element =
|
|
1214
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1102
1215
|
}
|
|
1103
1216
|
if (element == null) {
|
|
1104
1217
|
return;
|
|
@@ -1115,8 +1228,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1115
1228
|
* DOMUtils.append("a.xx","'<b class="xx"></b>")
|
|
1116
1229
|
* */
|
|
1117
1230
|
append(element, content) {
|
|
1231
|
+
let DOMUtilsContext = this;
|
|
1118
1232
|
if (typeof element === "string") {
|
|
1119
|
-
element =
|
|
1233
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1120
1234
|
}
|
|
1121
1235
|
if (element == null) {
|
|
1122
1236
|
return;
|
|
@@ -1131,7 +1245,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1131
1245
|
}
|
|
1132
1246
|
if (Array.isArray(content) || content instanceof NodeList) {
|
|
1133
1247
|
/* 数组 */
|
|
1134
|
-
let fragment =
|
|
1248
|
+
let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
|
|
1135
1249
|
content.forEach((ele) => {
|
|
1136
1250
|
if (typeof ele === "string") {
|
|
1137
1251
|
ele = this.parseHTML(ele, true, false);
|
|
@@ -1154,8 +1268,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1154
1268
|
* DOMUtils.prepend("a.xx","'<b class="xx"></b>")
|
|
1155
1269
|
* */
|
|
1156
1270
|
prepend(element, content) {
|
|
1271
|
+
let DOMUtilsContext = this;
|
|
1157
1272
|
if (typeof element === "string") {
|
|
1158
|
-
element =
|
|
1273
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1159
1274
|
}
|
|
1160
1275
|
if (element == null) {
|
|
1161
1276
|
return;
|
|
@@ -1177,8 +1292,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1177
1292
|
* DOMUtils.after("a.xx","'<b class="xx"></b>")
|
|
1178
1293
|
* */
|
|
1179
1294
|
after(element, content) {
|
|
1295
|
+
let DOMUtilsContext = this;
|
|
1180
1296
|
if (typeof element === "string") {
|
|
1181
|
-
element =
|
|
1297
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1182
1298
|
}
|
|
1183
1299
|
if (element == null) {
|
|
1184
1300
|
return;
|
|
@@ -1200,8 +1316,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1200
1316
|
* DOMUtils.before("a.xx","'<b class="xx"></b>")
|
|
1201
1317
|
* */
|
|
1202
1318
|
before(element, content) {
|
|
1319
|
+
let DOMUtilsContext = this;
|
|
1203
1320
|
if (typeof element === "string") {
|
|
1204
|
-
element =
|
|
1321
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1205
1322
|
}
|
|
1206
1323
|
if (element == null) {
|
|
1207
1324
|
return;
|
|
@@ -1225,7 +1342,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1225
1342
|
remove(target) {
|
|
1226
1343
|
let DOMUtilsContext = this;
|
|
1227
1344
|
if (typeof target === "string") {
|
|
1228
|
-
target =
|
|
1345
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1229
1346
|
}
|
|
1230
1347
|
if (target == null) {
|
|
1231
1348
|
return;
|
|
@@ -1249,8 +1366,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1249
1366
|
* DOMUtils.empty("a.xx")
|
|
1250
1367
|
* */
|
|
1251
1368
|
empty(element) {
|
|
1369
|
+
let DOMUtilsContext = this;
|
|
1252
1370
|
if (typeof element === "string") {
|
|
1253
|
-
element =
|
|
1371
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1254
1372
|
}
|
|
1255
1373
|
if (element == null) {
|
|
1256
1374
|
return;
|
|
@@ -1267,8 +1385,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1267
1385
|
* > 0
|
|
1268
1386
|
*/
|
|
1269
1387
|
offset(element) {
|
|
1388
|
+
let DOMUtilsContext = this;
|
|
1270
1389
|
if (typeof element === "string") {
|
|
1271
|
-
element =
|
|
1390
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1272
1391
|
}
|
|
1273
1392
|
if (element == null) {
|
|
1274
1393
|
return;
|
|
@@ -1276,21 +1395,22 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1276
1395
|
let rect = element.getBoundingClientRect();
|
|
1277
1396
|
return {
|
|
1278
1397
|
/** y轴偏移 */
|
|
1279
|
-
top: rect.top +
|
|
1398
|
+
top: rect.top + DOMUtilsContext.windowApi.globalThis.scrollY,
|
|
1280
1399
|
/** x轴偏移 */
|
|
1281
|
-
left: rect.left +
|
|
1400
|
+
left: rect.left + DOMUtilsContext.windowApi.globalThis.scrollX,
|
|
1282
1401
|
};
|
|
1283
1402
|
}
|
|
1284
1403
|
width(element, isShow = false) {
|
|
1285
1404
|
let DOMUtilsContext = this;
|
|
1286
1405
|
if (typeof element === "string") {
|
|
1287
|
-
element =
|
|
1406
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1288
1407
|
}
|
|
1289
1408
|
if (element == null) {
|
|
1290
1409
|
return;
|
|
1291
1410
|
}
|
|
1292
1411
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1293
|
-
return
|
|
1412
|
+
return DOMUtilsContext.windowApi.window.document.documentElement
|
|
1413
|
+
.clientWidth;
|
|
1294
1414
|
}
|
|
1295
1415
|
if (element.nodeType === 9) {
|
|
1296
1416
|
/* Document文档节点 */
|
|
@@ -1333,10 +1453,11 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1333
1453
|
height(element, isShow = false) {
|
|
1334
1454
|
let DOMUtilsContext = this;
|
|
1335
1455
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1336
|
-
return
|
|
1456
|
+
return DOMUtilsContext.windowApi.window.document.documentElement
|
|
1457
|
+
.clientHeight;
|
|
1337
1458
|
}
|
|
1338
1459
|
if (typeof element === "string") {
|
|
1339
|
-
element =
|
|
1460
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1340
1461
|
}
|
|
1341
1462
|
if (element == null) {
|
|
1342
1463
|
// @ts-ignore
|
|
@@ -1383,10 +1504,10 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1383
1504
|
outerWidth(element, isShow = false) {
|
|
1384
1505
|
let DOMUtilsContext = this;
|
|
1385
1506
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1386
|
-
return
|
|
1507
|
+
return DOMUtilsContext.windowApi.window.innerWidth;
|
|
1387
1508
|
}
|
|
1388
1509
|
if (typeof element === "string") {
|
|
1389
|
-
element =
|
|
1510
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1390
1511
|
}
|
|
1391
1512
|
if (element == null) {
|
|
1392
1513
|
// @ts-ignore
|
|
@@ -1409,10 +1530,10 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1409
1530
|
outerHeight(element, isShow = false) {
|
|
1410
1531
|
let DOMUtilsContext = this;
|
|
1411
1532
|
if (DOMUtilsCommonUtils.isWin(element)) {
|
|
1412
|
-
return
|
|
1533
|
+
return DOMUtilsContext.windowApi.window.innerHeight;
|
|
1413
1534
|
}
|
|
1414
1535
|
if (typeof element === "string") {
|
|
1415
|
-
element =
|
|
1536
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1416
1537
|
}
|
|
1417
1538
|
if (element == null) {
|
|
1418
1539
|
// @ts-ignore
|
|
@@ -1445,8 +1566,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1445
1566
|
* })
|
|
1446
1567
|
*/
|
|
1447
1568
|
animate(element, styles, duration = 1000, callback = null) {
|
|
1569
|
+
let DOMUtilsContext = this;
|
|
1448
1570
|
if (typeof element === "string") {
|
|
1449
|
-
element =
|
|
1571
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1450
1572
|
}
|
|
1451
1573
|
if (element == null) {
|
|
1452
1574
|
return;
|
|
@@ -1497,15 +1619,16 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1497
1619
|
* DOMUtils.wrap(document.querySelector("a.xx"),"<div></div>")
|
|
1498
1620
|
*/
|
|
1499
1621
|
wrap(element, wrapperHTML) {
|
|
1622
|
+
let DOMUtilsContext = this;
|
|
1500
1623
|
if (typeof element === "string") {
|
|
1501
|
-
element =
|
|
1624
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1502
1625
|
}
|
|
1503
1626
|
if (element == null) {
|
|
1504
1627
|
return;
|
|
1505
1628
|
}
|
|
1506
1629
|
element = element;
|
|
1507
1630
|
// 创建一个新的div元素,并将wrapperHTML作为其innerHTML
|
|
1508
|
-
let wrapper =
|
|
1631
|
+
let wrapper = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1509
1632
|
wrapper.innerHTML = wrapperHTML;
|
|
1510
1633
|
let wrapperFirstChild = wrapper.firstChild;
|
|
1511
1634
|
// 将要包裹的元素插入目标元素前面
|
|
@@ -1514,8 +1637,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1514
1637
|
wrapperFirstChild.appendChild(element);
|
|
1515
1638
|
}
|
|
1516
1639
|
prev(element) {
|
|
1640
|
+
let DOMUtilsContext = this;
|
|
1517
1641
|
if (typeof element === "string") {
|
|
1518
|
-
element =
|
|
1642
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1519
1643
|
}
|
|
1520
1644
|
if (element == null) {
|
|
1521
1645
|
return;
|
|
@@ -1523,8 +1647,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1523
1647
|
return element.previousElementSibling;
|
|
1524
1648
|
}
|
|
1525
1649
|
next(element) {
|
|
1650
|
+
let DOMUtilsContext = this;
|
|
1526
1651
|
if (typeof element === "string") {
|
|
1527
|
-
element =
|
|
1652
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1528
1653
|
}
|
|
1529
1654
|
if (element == null) {
|
|
1530
1655
|
return;
|
|
@@ -1537,15 +1662,17 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1537
1662
|
* let DOMUtils = window.DOMUtils.noConflict()
|
|
1538
1663
|
*/
|
|
1539
1664
|
noConflict() {
|
|
1540
|
-
|
|
1665
|
+
let DOMUtilsContext = this;
|
|
1666
|
+
if (DOMUtilsContext.windowApi.window.DOMUtils) {
|
|
1541
1667
|
DOMUtilsCommonUtils.delete(window, "DOMUtils");
|
|
1542
1668
|
}
|
|
1543
|
-
|
|
1669
|
+
DOMUtilsContext.windowApi.window.DOMUtils = this;
|
|
1544
1670
|
return this;
|
|
1545
1671
|
}
|
|
1546
1672
|
siblings(element) {
|
|
1673
|
+
let DOMUtilsContext = this;
|
|
1547
1674
|
if (typeof element === "string") {
|
|
1548
|
-
element =
|
|
1675
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1549
1676
|
}
|
|
1550
1677
|
if (element == null) {
|
|
1551
1678
|
return;
|
|
@@ -1566,7 +1693,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1566
1693
|
parent(element) {
|
|
1567
1694
|
let DOMUtilsContext = this;
|
|
1568
1695
|
if (typeof element === "string") {
|
|
1569
|
-
element =
|
|
1696
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1570
1697
|
}
|
|
1571
1698
|
if (element == null) {
|
|
1572
1699
|
return;
|
|
@@ -1584,6 +1711,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1584
1711
|
}
|
|
1585
1712
|
}
|
|
1586
1713
|
parseHTML(html, useParser = false, isComplete = false) {
|
|
1714
|
+
let DOMUtilsContext = this;
|
|
1587
1715
|
function parseHTMLByDOMParser() {
|
|
1588
1716
|
let parser = new DOMParser();
|
|
1589
1717
|
if (isComplete) {
|
|
@@ -1594,7 +1722,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1594
1722
|
}
|
|
1595
1723
|
}
|
|
1596
1724
|
function parseHTMLByCreateDom() {
|
|
1597
|
-
let tempDIV =
|
|
1725
|
+
let tempDIV = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1598
1726
|
tempDIV.innerHTML = html;
|
|
1599
1727
|
if (isComplete) {
|
|
1600
1728
|
return tempDIV;
|
|
@@ -1625,7 +1753,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1625
1753
|
return;
|
|
1626
1754
|
}
|
|
1627
1755
|
if (typeof target === "string") {
|
|
1628
|
-
target =
|
|
1756
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1629
1757
|
}
|
|
1630
1758
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1631
1759
|
target = target;
|
|
@@ -1657,7 +1785,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1657
1785
|
return;
|
|
1658
1786
|
}
|
|
1659
1787
|
if (typeof target === "string") {
|
|
1660
|
-
target =
|
|
1788
|
+
target = DOMUtilsContext.windowApi.document.querySelectorAll(target);
|
|
1661
1789
|
}
|
|
1662
1790
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1663
1791
|
target = target;
|
|
@@ -1692,8 +1820,9 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1692
1820
|
if (element == null) {
|
|
1693
1821
|
return;
|
|
1694
1822
|
}
|
|
1823
|
+
let DOMUtilsContext = this;
|
|
1695
1824
|
if (typeof element === "string") {
|
|
1696
|
-
element =
|
|
1825
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1697
1826
|
}
|
|
1698
1827
|
element = element;
|
|
1699
1828
|
element.style.opacity = "0";
|
|
@@ -1707,16 +1836,16 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1707
1836
|
element = element;
|
|
1708
1837
|
element.style.opacity = Math.min(progress / duration, 1).toString();
|
|
1709
1838
|
if (progress < duration) {
|
|
1710
|
-
|
|
1839
|
+
DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1711
1840
|
}
|
|
1712
1841
|
else {
|
|
1713
1842
|
if (callback && typeof callback === "function") {
|
|
1714
1843
|
callback();
|
|
1715
1844
|
}
|
|
1716
|
-
|
|
1845
|
+
DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
|
|
1717
1846
|
}
|
|
1718
1847
|
}
|
|
1719
|
-
timer =
|
|
1848
|
+
timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1720
1849
|
}
|
|
1721
1850
|
/**
|
|
1722
1851
|
* 淡出元素
|
|
@@ -1733,11 +1862,12 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1733
1862
|
* })
|
|
1734
1863
|
*/
|
|
1735
1864
|
fadeOut(element, duration = 400, callback) {
|
|
1865
|
+
let DOMUtilsContext = this;
|
|
1736
1866
|
if (element == null) {
|
|
1737
1867
|
return;
|
|
1738
1868
|
}
|
|
1739
1869
|
if (typeof element === "string") {
|
|
1740
|
-
element =
|
|
1870
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1741
1871
|
}
|
|
1742
1872
|
element = element;
|
|
1743
1873
|
element.style.opacity = "1";
|
|
@@ -1750,17 +1880,17 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1750
1880
|
element = element;
|
|
1751
1881
|
element.style.opacity = Math.max(1 - progress / duration, 0).toString();
|
|
1752
1882
|
if (progress < duration) {
|
|
1753
|
-
|
|
1883
|
+
DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1754
1884
|
}
|
|
1755
1885
|
else {
|
|
1756
1886
|
element.style.display = "none";
|
|
1757
1887
|
if (typeof callback === "function") {
|
|
1758
1888
|
callback();
|
|
1759
1889
|
}
|
|
1760
|
-
|
|
1890
|
+
DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);
|
|
1761
1891
|
}
|
|
1762
1892
|
}
|
|
1763
|
-
timer =
|
|
1893
|
+
timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);
|
|
1764
1894
|
}
|
|
1765
1895
|
/**
|
|
1766
1896
|
* 切换元素的显示和隐藏状态
|
|
@@ -1773,7 +1903,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1773
1903
|
toggle(element) {
|
|
1774
1904
|
let DOMUtilsContext = this;
|
|
1775
1905
|
if (typeof element === "string") {
|
|
1776
|
-
element =
|
|
1906
|
+
element = DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1777
1907
|
}
|
|
1778
1908
|
if (element == null) {
|
|
1779
1909
|
return;
|
|
@@ -1802,6 +1932,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1802
1932
|
* DOMUtils.getTextBoundingRect(document.querySelector("input"));
|
|
1803
1933
|
*/
|
|
1804
1934
|
getTextBoundingRect($input, selectionStart, selectionEnd) {
|
|
1935
|
+
let DOMUtilsContext = this;
|
|
1805
1936
|
// Basic parameter validation
|
|
1806
1937
|
if (!$input || !("value" in $input))
|
|
1807
1938
|
return $input;
|
|
@@ -1871,7 +2002,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1871
2002
|
}
|
|
1872
2003
|
// End of CSS variable checks
|
|
1873
2004
|
// 不能为空,不然获取不到高度
|
|
1874
|
-
let text = $input.value || "G", textLen = text.length, fakeClone =
|
|
2005
|
+
let text = $input.value || "G", textLen = text.length, fakeClone = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1875
2006
|
if (selectionStart > 0)
|
|
1876
2007
|
appendPart(0, selectionStart);
|
|
1877
2008
|
var fakeRange = appendPart(selectionStart, selectionEnd);
|
|
@@ -1885,7 +2016,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1885
2016
|
fakeClone.style.left = leftPos + "px";
|
|
1886
2017
|
fakeClone.style.width = width + "px";
|
|
1887
2018
|
fakeClone.style.height = height + "px";
|
|
1888
|
-
|
|
2019
|
+
DOMUtilsContext.windowApi.document.body.appendChild(fakeClone);
|
|
1889
2020
|
var returnValue = fakeRange.getBoundingClientRect(); //Get rect
|
|
1890
2021
|
fakeClone?.parentNode?.removeChild(fakeClone); //Remove temp
|
|
1891
2022
|
return returnValue;
|
|
@@ -1897,7 +2028,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1897
2028
|
* @returns
|
|
1898
2029
|
*/
|
|
1899
2030
|
function appendPart(start, end) {
|
|
1900
|
-
var span =
|
|
2031
|
+
var span = DOMUtilsContext.windowApi.document.createElement("span");
|
|
1901
2032
|
span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results
|
|
1902
2033
|
span.textContent = text.substring(start, end);
|
|
1903
2034
|
fakeClone.appendChild(span);
|
|
@@ -1905,7 +2036,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1905
2036
|
}
|
|
1906
2037
|
// Computing offset position
|
|
1907
2038
|
function getInputOffset() {
|
|
1908
|
-
let body =
|
|
2039
|
+
let body = DOMUtilsContext.windowApi.document.body, win = DOMUtilsContext.windowApi.document.defaultView, docElem = DOMUtilsContext.windowApi.document.documentElement, $box = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1909
2040
|
$box.style.paddingLeft = $box.style.width = "1px";
|
|
1910
2041
|
body.appendChild($box);
|
|
1911
2042
|
var isBoxModel = $box.offsetWidth == 2;
|
|
@@ -1928,7 +2059,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1928
2059
|
* @returns
|
|
1929
2060
|
*/
|
|
1930
2061
|
function getInputCSS(prop, isNumber) {
|
|
1931
|
-
var val =
|
|
2062
|
+
var val = DOMUtilsContext.windowApi.document
|
|
1932
2063
|
.defaultView.getComputedStyle($input, null)
|
|
1933
2064
|
.getPropertyValue(prop);
|
|
1934
2065
|
return isNumber ? parseFloat(val) : val;
|