@whitesev/domutils 1.3.3 → 1.3.5
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 +426 -99
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +426 -99
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +426 -99
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +426 -99
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +426 -99
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +426 -99
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/DOMUtils.d.ts +61 -41
- package/dist/types/src/DOMUtilsEvent.d.ts +14 -13
- package/dist/types/src/types/global.d.ts +6 -0
- package/package.json +1 -1
- package/src/DOMUtils.ts +464 -172
- package/src/DOMUtilsEvent.ts +105 -42
- package/src/types/global.d.ts +6 -0
package/dist/index.iife.js
CHANGED
|
@@ -596,11 +596,18 @@ var DOMUtils = (function () {
|
|
|
596
596
|
click(element, handler, details, useDispatchToTriggerEvent) {
|
|
597
597
|
let DOMUtilsContext = this;
|
|
598
598
|
if (typeof element === "string") {
|
|
599
|
-
element = DOMUtilsContext.windowApi.document.
|
|
599
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
600
600
|
}
|
|
601
601
|
if (element == null) {
|
|
602
602
|
return;
|
|
603
603
|
}
|
|
604
|
+
if (isNodeList(element)) {
|
|
605
|
+
// 设置
|
|
606
|
+
element.forEach(($ele) => {
|
|
607
|
+
DOMUtilsContext.click($ele, handler, details, useDispatchToTriggerEvent);
|
|
608
|
+
});
|
|
609
|
+
return;
|
|
610
|
+
}
|
|
604
611
|
if (handler == null) {
|
|
605
612
|
DOMUtilsContext.trigger(element, "click", details, useDispatchToTriggerEvent);
|
|
606
613
|
}
|
|
@@ -630,6 +637,13 @@ var DOMUtils = (function () {
|
|
|
630
637
|
if (element == null) {
|
|
631
638
|
return;
|
|
632
639
|
}
|
|
640
|
+
if (isNodeList(element)) {
|
|
641
|
+
// 设置
|
|
642
|
+
element.forEach(($ele) => {
|
|
643
|
+
DOMUtilsContext.focus($ele, handler, details, useDispatchToTriggerEvent);
|
|
644
|
+
});
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
633
647
|
if (handler === null) {
|
|
634
648
|
DOMUtilsContext.trigger(element, "blur", details, useDispatchToTriggerEvent);
|
|
635
649
|
}
|
|
@@ -654,11 +668,18 @@ var DOMUtils = (function () {
|
|
|
654
668
|
focus(element, handler, details, useDispatchToTriggerEvent) {
|
|
655
669
|
let DOMUtilsContext = this;
|
|
656
670
|
if (typeof element === "string") {
|
|
657
|
-
element = DOMUtilsContext.windowApi.document.
|
|
671
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
658
672
|
}
|
|
659
673
|
if (element == null) {
|
|
660
674
|
return;
|
|
661
675
|
}
|
|
676
|
+
if (isNodeList(element)) {
|
|
677
|
+
// 设置
|
|
678
|
+
element.forEach(($ele) => {
|
|
679
|
+
DOMUtilsContext.focus($ele, handler, details, useDispatchToTriggerEvent);
|
|
680
|
+
});
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
662
683
|
if (handler == null) {
|
|
663
684
|
DOMUtilsContext.trigger(element, "focus", details, useDispatchToTriggerEvent);
|
|
664
685
|
}
|
|
@@ -683,18 +704,25 @@ var DOMUtils = (function () {
|
|
|
683
704
|
hover(element, handler, option) {
|
|
684
705
|
let DOMUtilsContext = this;
|
|
685
706
|
if (typeof element === "string") {
|
|
686
|
-
element = DOMUtilsContext.windowApi.document.
|
|
707
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
687
708
|
}
|
|
688
709
|
if (element == null) {
|
|
689
710
|
return;
|
|
690
711
|
}
|
|
712
|
+
if (isNodeList(element)) {
|
|
713
|
+
// 设置
|
|
714
|
+
element.forEach(($ele) => {
|
|
715
|
+
DOMUtilsContext.hover($ele, handler, option);
|
|
716
|
+
});
|
|
717
|
+
return;
|
|
718
|
+
}
|
|
691
719
|
DOMUtilsContext.on(element, "mouseenter", null, handler, option);
|
|
692
720
|
DOMUtilsContext.on(element, "mouseleave", null, handler, option);
|
|
693
721
|
}
|
|
694
722
|
/**
|
|
695
723
|
* 当按键松开时触发事件
|
|
696
724
|
* keydown - > keypress - > keyup
|
|
697
|
-
* @param
|
|
725
|
+
* @param element 当前元素
|
|
698
726
|
* @param handler 事件处理函数
|
|
699
727
|
* @param option 配置
|
|
700
728
|
* @example
|
|
@@ -706,20 +734,27 @@ var DOMUtils = (function () {
|
|
|
706
734
|
* console.log("按键松开");
|
|
707
735
|
* })
|
|
708
736
|
*/
|
|
709
|
-
keyup(
|
|
737
|
+
keyup(element, handler, option) {
|
|
710
738
|
let DOMUtilsContext = this;
|
|
711
|
-
if (
|
|
739
|
+
if (element == null) {
|
|
712
740
|
return;
|
|
713
741
|
}
|
|
714
|
-
if (typeof
|
|
715
|
-
|
|
742
|
+
if (typeof element === "string") {
|
|
743
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
744
|
+
}
|
|
745
|
+
if (isNodeList(element)) {
|
|
746
|
+
// 设置
|
|
747
|
+
element.forEach(($ele) => {
|
|
748
|
+
DOMUtilsContext.keyup($ele, handler, option);
|
|
749
|
+
});
|
|
750
|
+
return;
|
|
716
751
|
}
|
|
717
|
-
DOMUtilsContext.on(
|
|
752
|
+
DOMUtilsContext.on(element, "keyup", null, handler, option);
|
|
718
753
|
}
|
|
719
754
|
/**
|
|
720
755
|
* 当按键按下时触发事件
|
|
721
756
|
* keydown - > keypress - > keyup
|
|
722
|
-
* @param
|
|
757
|
+
* @param element 目标
|
|
723
758
|
* @param handler 事件处理函数
|
|
724
759
|
* @param option 配置
|
|
725
760
|
* @example
|
|
@@ -731,20 +766,27 @@ var DOMUtils = (function () {
|
|
|
731
766
|
* console.log("按键按下");
|
|
732
767
|
* })
|
|
733
768
|
*/
|
|
734
|
-
keydown(
|
|
769
|
+
keydown(element, handler, option) {
|
|
735
770
|
let DOMUtilsContext = this;
|
|
736
|
-
if (
|
|
771
|
+
if (element == null) {
|
|
737
772
|
return;
|
|
738
773
|
}
|
|
739
|
-
if (typeof
|
|
740
|
-
|
|
774
|
+
if (typeof element === "string") {
|
|
775
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
776
|
+
}
|
|
777
|
+
if (isNodeList(element)) {
|
|
778
|
+
// 设置
|
|
779
|
+
element.forEach(($ele) => {
|
|
780
|
+
DOMUtilsContext.keydown($ele, handler, option);
|
|
781
|
+
});
|
|
782
|
+
return;
|
|
741
783
|
}
|
|
742
|
-
DOMUtilsContext.on(
|
|
784
|
+
DOMUtilsContext.on(element, "keydown", null, handler, option);
|
|
743
785
|
}
|
|
744
786
|
/**
|
|
745
787
|
* 当按键按下时触发事件
|
|
746
788
|
* keydown - > keypress - > keyup
|
|
747
|
-
* @param
|
|
789
|
+
* @param element 目标
|
|
748
790
|
* @param handler 事件处理函数
|
|
749
791
|
* @param option 配置
|
|
750
792
|
* @example
|
|
@@ -756,20 +798,27 @@ var DOMUtils = (function () {
|
|
|
756
798
|
* console.log("按键按下");
|
|
757
799
|
* })
|
|
758
800
|
*/
|
|
759
|
-
keypress(
|
|
801
|
+
keypress(element, handler, option) {
|
|
760
802
|
let DOMUtilsContext = this;
|
|
761
|
-
if (
|
|
803
|
+
if (element == null) {
|
|
762
804
|
return;
|
|
763
805
|
}
|
|
764
|
-
if (typeof
|
|
765
|
-
|
|
806
|
+
if (typeof element === "string") {
|
|
807
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
808
|
+
}
|
|
809
|
+
if (isNodeList(element)) {
|
|
810
|
+
// 设置
|
|
811
|
+
element.forEach(($ele) => {
|
|
812
|
+
DOMUtilsContext.keypress($ele, handler, option);
|
|
813
|
+
});
|
|
814
|
+
return;
|
|
766
815
|
}
|
|
767
|
-
DOMUtilsContext.on(
|
|
816
|
+
DOMUtilsContext.on(element, "keypress", null, handler, option);
|
|
768
817
|
}
|
|
769
818
|
/**
|
|
770
819
|
* 监听某个元素键盘按键事件或window全局按键事件
|
|
771
820
|
* 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
|
|
772
|
-
* @param
|
|
821
|
+
* @param element 需要监听的对象,可以是全局Window或者某个元素
|
|
773
822
|
* @param eventName 事件名,默认keypress
|
|
774
823
|
* @param callback 自己定义的回调事件,参数1为当前的key,参数2为组合按键,数组类型,包含ctrl、shift、alt和meta(win键或mac的cmd键)
|
|
775
824
|
* @param options 监听事件的配置
|
|
@@ -829,7 +878,11 @@ var DOMUtils = (function () {
|
|
|
829
878
|
搜索 170
|
|
830
879
|
收藏 171
|
|
831
880
|
**/
|
|
832
|
-
listenKeyboard(
|
|
881
|
+
listenKeyboard(element, eventName = "keypress", callback, options) {
|
|
882
|
+
let DOMUtilsContext = this;
|
|
883
|
+
if (typeof element === "string") {
|
|
884
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
885
|
+
}
|
|
833
886
|
let keyboardEventCallBack = function (event) {
|
|
834
887
|
/** 键名 */
|
|
835
888
|
let keyName = event.key || event.code;
|
|
@@ -853,29 +906,49 @@ var DOMUtils = (function () {
|
|
|
853
906
|
callback(keyName, keyValue, otherCodeList, event);
|
|
854
907
|
}
|
|
855
908
|
};
|
|
856
|
-
|
|
909
|
+
DOMUtilsContext.on(element, eventName, keyboardEventCallBack, options);
|
|
857
910
|
return {
|
|
858
911
|
removeListen: () => {
|
|
859
|
-
|
|
912
|
+
DOMUtilsContext.off(element, eventName, keyboardEventCallBack, options);
|
|
860
913
|
},
|
|
861
914
|
};
|
|
862
915
|
}
|
|
863
916
|
}
|
|
864
917
|
|
|
918
|
+
/**
|
|
919
|
+
* 判断是否是元素列表
|
|
920
|
+
* @param $ele
|
|
921
|
+
*/
|
|
922
|
+
const isNodeList = ($ele) => {
|
|
923
|
+
return Array.isArray($ele) || $ele instanceof NodeList;
|
|
924
|
+
};
|
|
865
925
|
class DOMUtils extends DOMUtilsEvent {
|
|
866
926
|
constructor(option) {
|
|
867
927
|
super(option);
|
|
868
928
|
}
|
|
869
929
|
/** 版本号 */
|
|
870
|
-
version = "2024.
|
|
930
|
+
version = "2024.10.22";
|
|
871
931
|
attr(element, attrName, attrValue) {
|
|
872
932
|
let DOMUtilsContext = this;
|
|
873
933
|
if (typeof element === "string") {
|
|
874
|
-
element = DOMUtilsContext.windowApi.document.
|
|
934
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
875
935
|
}
|
|
876
936
|
if (element == null) {
|
|
877
937
|
return;
|
|
878
938
|
}
|
|
939
|
+
if (isNodeList(element)) {
|
|
940
|
+
if (attrValue == null) {
|
|
941
|
+
// 获取属性
|
|
942
|
+
return DOMUtilsContext.attr(element[0], attrName, attrValue);
|
|
943
|
+
}
|
|
944
|
+
else {
|
|
945
|
+
// 设置属性
|
|
946
|
+
element.forEach(($ele) => {
|
|
947
|
+
DOMUtilsContext.attr($ele, attrName, attrValue);
|
|
948
|
+
});
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
879
952
|
if (attrValue == null) {
|
|
880
953
|
return element.getAttribute(attrName);
|
|
881
954
|
}
|
|
@@ -964,14 +1037,40 @@ var DOMUtils = (function () {
|
|
|
964
1037
|
return propertyValue;
|
|
965
1038
|
}
|
|
966
1039
|
if (typeof element === "string") {
|
|
967
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1040
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
968
1041
|
}
|
|
969
1042
|
if (element == null) {
|
|
970
1043
|
return;
|
|
971
1044
|
}
|
|
1045
|
+
if (isNodeList(element)) {
|
|
1046
|
+
if (typeof property === "string") {
|
|
1047
|
+
if (value == null) {
|
|
1048
|
+
// 获取属性
|
|
1049
|
+
return DOMUtilsContext.css(element[0], property);
|
|
1050
|
+
}
|
|
1051
|
+
else {
|
|
1052
|
+
// 设置属性
|
|
1053
|
+
element.forEach(($ele) => {
|
|
1054
|
+
DOMUtilsContext.css($ele, property);
|
|
1055
|
+
});
|
|
1056
|
+
return;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
else if (typeof property === "object") {
|
|
1060
|
+
// 设置属性
|
|
1061
|
+
element.forEach(($ele) => {
|
|
1062
|
+
DOMUtilsContext.css($ele, property);
|
|
1063
|
+
});
|
|
1064
|
+
return;
|
|
1065
|
+
}
|
|
1066
|
+
else ;
|
|
1067
|
+
return;
|
|
1068
|
+
}
|
|
972
1069
|
if (typeof property === "string") {
|
|
973
1070
|
if (value == null) {
|
|
974
|
-
return
|
|
1071
|
+
return DOMUtilsContext.windowApi.globalThis
|
|
1072
|
+
.getComputedStyle(element)
|
|
1073
|
+
.getPropertyValue(property);
|
|
975
1074
|
}
|
|
976
1075
|
else {
|
|
977
1076
|
if (value === "string" && value.includes("!important")) {
|
|
@@ -995,15 +1094,29 @@ var DOMUtils = (function () {
|
|
|
995
1094
|
}
|
|
996
1095
|
}
|
|
997
1096
|
}
|
|
1097
|
+
else ;
|
|
998
1098
|
}
|
|
999
1099
|
text(element, text) {
|
|
1000
1100
|
let DOMUtilsContext = this;
|
|
1001
1101
|
if (typeof element === "string") {
|
|
1002
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1102
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1003
1103
|
}
|
|
1004
1104
|
if (element == null) {
|
|
1005
1105
|
return;
|
|
1006
1106
|
}
|
|
1107
|
+
if (isNodeList(element)) {
|
|
1108
|
+
if (text == null) {
|
|
1109
|
+
// 获取
|
|
1110
|
+
return DOMUtilsContext.text(element[0]);
|
|
1111
|
+
}
|
|
1112
|
+
else {
|
|
1113
|
+
// 设置
|
|
1114
|
+
element.forEach(($ele) => {
|
|
1115
|
+
DOMUtilsContext.text($ele, text);
|
|
1116
|
+
});
|
|
1117
|
+
}
|
|
1118
|
+
return;
|
|
1119
|
+
}
|
|
1007
1120
|
if (text == null) {
|
|
1008
1121
|
return element.textContent || element.innerText;
|
|
1009
1122
|
}
|
|
@@ -1022,16 +1135,31 @@ var DOMUtils = (function () {
|
|
|
1022
1135
|
html(element, html) {
|
|
1023
1136
|
let DOMUtilsContext = this;
|
|
1024
1137
|
if (typeof element === "string") {
|
|
1025
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1138
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1026
1139
|
}
|
|
1027
1140
|
if (element == null) {
|
|
1028
1141
|
return;
|
|
1029
1142
|
}
|
|
1143
|
+
if (isNodeList(element)) {
|
|
1144
|
+
if (html == null) {
|
|
1145
|
+
// 获取
|
|
1146
|
+
return DOMUtilsContext.html(element[0]);
|
|
1147
|
+
}
|
|
1148
|
+
else {
|
|
1149
|
+
// 设置
|
|
1150
|
+
element.forEach(($ele) => {
|
|
1151
|
+
DOMUtilsContext.html($ele, html);
|
|
1152
|
+
});
|
|
1153
|
+
}
|
|
1154
|
+
return;
|
|
1155
|
+
}
|
|
1030
1156
|
if (html == null) {
|
|
1157
|
+
// 获取
|
|
1031
1158
|
return element.innerHTML;
|
|
1032
1159
|
}
|
|
1033
1160
|
else {
|
|
1034
|
-
|
|
1161
|
+
// 设置
|
|
1162
|
+
if (html instanceof Element) {
|
|
1035
1163
|
html = html.innerHTML;
|
|
1036
1164
|
}
|
|
1037
1165
|
if ("innerHTML" in element) {
|
|
@@ -1053,7 +1181,7 @@ var DOMUtils = (function () {
|
|
|
1053
1181
|
recovery();
|
|
1054
1182
|
return transformInfo;
|
|
1055
1183
|
}
|
|
1056
|
-
let elementTransform = getComputedStyle(element).transform;
|
|
1184
|
+
let elementTransform = DOMUtilsContext.windowApi.globalThis.getComputedStyle(element).transform;
|
|
1057
1185
|
if (elementTransform != null &&
|
|
1058
1186
|
elementTransform !== "none" &&
|
|
1059
1187
|
elementTransform !== "") {
|
|
@@ -1077,12 +1205,26 @@ var DOMUtils = (function () {
|
|
|
1077
1205
|
val(element, value) {
|
|
1078
1206
|
let DOMUtilsContext = this;
|
|
1079
1207
|
if (typeof element === "string") {
|
|
1080
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1208
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1081
1209
|
}
|
|
1082
1210
|
if (element == null) {
|
|
1083
1211
|
return;
|
|
1084
1212
|
}
|
|
1213
|
+
if (isNodeList(element)) {
|
|
1214
|
+
if (value == null) {
|
|
1215
|
+
// 获取
|
|
1216
|
+
return DOMUtilsContext.val(element[0]);
|
|
1217
|
+
}
|
|
1218
|
+
else {
|
|
1219
|
+
// 设置
|
|
1220
|
+
element.forEach(($ele) => {
|
|
1221
|
+
DOMUtilsContext.val($ele, value);
|
|
1222
|
+
});
|
|
1223
|
+
}
|
|
1224
|
+
return;
|
|
1225
|
+
}
|
|
1085
1226
|
if (value == null) {
|
|
1227
|
+
// 获取
|
|
1086
1228
|
if (element.localName === "input" &&
|
|
1087
1229
|
(element.type === "checkbox" || element.type === "radio")) {
|
|
1088
1230
|
return element.checked;
|
|
@@ -1092,6 +1234,7 @@ var DOMUtils = (function () {
|
|
|
1092
1234
|
}
|
|
1093
1235
|
}
|
|
1094
1236
|
else {
|
|
1237
|
+
// 设置
|
|
1095
1238
|
if (element.localName === "input" &&
|
|
1096
1239
|
(element.type === "checkbox" || element.type === "radio")) {
|
|
1097
1240
|
element.checked = !!value;
|
|
@@ -1103,17 +1246,30 @@ var DOMUtils = (function () {
|
|
|
1103
1246
|
}
|
|
1104
1247
|
prop(element, propName, propValue) {
|
|
1105
1248
|
let DOMUtilsContext = this;
|
|
1249
|
+
if (typeof element === "string") {
|
|
1250
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1251
|
+
}
|
|
1106
1252
|
if (element == null) {
|
|
1107
1253
|
return;
|
|
1108
1254
|
}
|
|
1109
|
-
if (
|
|
1110
|
-
|
|
1255
|
+
if (isNodeList(element)) {
|
|
1256
|
+
if (propValue == null) {
|
|
1257
|
+
// 获取
|
|
1258
|
+
return DOMUtilsContext.prop(element[0], propName);
|
|
1259
|
+
}
|
|
1260
|
+
else {
|
|
1261
|
+
// 设置
|
|
1262
|
+
element.forEach(($ele) => {
|
|
1263
|
+
DOMUtilsContext.prop($ele, propName, propValue);
|
|
1264
|
+
});
|
|
1265
|
+
}
|
|
1266
|
+
return;
|
|
1111
1267
|
}
|
|
1112
1268
|
if (propValue == null) {
|
|
1113
|
-
return element
|
|
1269
|
+
return Reflect.get(element, propName);
|
|
1114
1270
|
}
|
|
1115
1271
|
else {
|
|
1116
|
-
element
|
|
1272
|
+
Reflect.set(element, propName, propValue);
|
|
1117
1273
|
}
|
|
1118
1274
|
}
|
|
1119
1275
|
/**
|
|
@@ -1128,11 +1284,18 @@ var DOMUtils = (function () {
|
|
|
1128
1284
|
removeAttr(element, attrName) {
|
|
1129
1285
|
let DOMUtilsContext = this;
|
|
1130
1286
|
if (typeof element === "string") {
|
|
1131
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1287
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1132
1288
|
}
|
|
1133
1289
|
if (element == null) {
|
|
1134
1290
|
return;
|
|
1135
1291
|
}
|
|
1292
|
+
if (isNodeList(element)) {
|
|
1293
|
+
// 设置
|
|
1294
|
+
element.forEach(($ele) => {
|
|
1295
|
+
DOMUtilsContext.removeAttr($ele, attrName);
|
|
1296
|
+
});
|
|
1297
|
+
return;
|
|
1298
|
+
}
|
|
1136
1299
|
element.removeAttribute(attrName);
|
|
1137
1300
|
}
|
|
1138
1301
|
/**
|
|
@@ -1147,15 +1310,30 @@ var DOMUtils = (function () {
|
|
|
1147
1310
|
removeClass(element, className) {
|
|
1148
1311
|
let DOMUtilsContext = this;
|
|
1149
1312
|
if (typeof element === "string") {
|
|
1150
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1313
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1151
1314
|
}
|
|
1152
1315
|
if (element == null) {
|
|
1153
1316
|
return;
|
|
1154
1317
|
}
|
|
1155
|
-
if (
|
|
1318
|
+
if (isNodeList(element)) {
|
|
1319
|
+
// 设置
|
|
1320
|
+
element.forEach(($ele) => {
|
|
1321
|
+
DOMUtilsContext.removeClass($ele, className);
|
|
1322
|
+
});
|
|
1156
1323
|
return;
|
|
1157
1324
|
}
|
|
1158
|
-
|
|
1325
|
+
if (className == null) {
|
|
1326
|
+
// 清空全部className
|
|
1327
|
+
element.className = "";
|
|
1328
|
+
}
|
|
1329
|
+
else {
|
|
1330
|
+
if (!Array.isArray(className)) {
|
|
1331
|
+
className = className.split(" ");
|
|
1332
|
+
}
|
|
1333
|
+
className.forEach((itemClassName) => {
|
|
1334
|
+
element.classList.remove(itemClassName);
|
|
1335
|
+
});
|
|
1336
|
+
}
|
|
1159
1337
|
}
|
|
1160
1338
|
/**
|
|
1161
1339
|
* 移除元素的属性
|
|
@@ -1169,11 +1347,18 @@ var DOMUtils = (function () {
|
|
|
1169
1347
|
removeProp(element, propName) {
|
|
1170
1348
|
let DOMUtilsContext = this;
|
|
1171
1349
|
if (typeof element === "string") {
|
|
1172
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1350
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1173
1351
|
}
|
|
1174
1352
|
if (element == null) {
|
|
1175
1353
|
return;
|
|
1176
1354
|
}
|
|
1355
|
+
if (isNodeList(element)) {
|
|
1356
|
+
// 设置
|
|
1357
|
+
element.forEach(($ele) => {
|
|
1358
|
+
DOMUtilsContext.removeProp($ele, propName);
|
|
1359
|
+
});
|
|
1360
|
+
return;
|
|
1361
|
+
}
|
|
1177
1362
|
DOMUtilsCommonUtils.delete(element, propName);
|
|
1178
1363
|
}
|
|
1179
1364
|
/**
|
|
@@ -1188,22 +1373,22 @@ var DOMUtils = (function () {
|
|
|
1188
1373
|
replaceWith(element, newElement) {
|
|
1189
1374
|
let DOMUtilsContext = this;
|
|
1190
1375
|
if (typeof element === "string") {
|
|
1191
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1376
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1192
1377
|
}
|
|
1193
1378
|
if (element == null) {
|
|
1194
1379
|
return;
|
|
1195
1380
|
}
|
|
1196
|
-
if (
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
element.forEach((item) => {
|
|
1201
|
-
DOMUtilsContext.replaceWith(item, newElement);
|
|
1381
|
+
if (isNodeList(element)) {
|
|
1382
|
+
// 设置
|
|
1383
|
+
element.forEach(($ele) => {
|
|
1384
|
+
DOMUtilsContext.replaceWith($ele, newElement);
|
|
1202
1385
|
});
|
|
1386
|
+
return;
|
|
1203
1387
|
}
|
|
1204
|
-
|
|
1205
|
-
|
|
1388
|
+
if (typeof newElement === "string") {
|
|
1389
|
+
newElement = DOMUtilsContext.parseHTML(newElement, false, false);
|
|
1206
1390
|
}
|
|
1391
|
+
element.parentElement.replaceChild(newElement, element);
|
|
1207
1392
|
}
|
|
1208
1393
|
/**
|
|
1209
1394
|
* 给元素添加class
|
|
@@ -1217,12 +1402,27 @@ var DOMUtils = (function () {
|
|
|
1217
1402
|
addClass(element, className) {
|
|
1218
1403
|
let DOMUtilsContext = this;
|
|
1219
1404
|
if (typeof element === "string") {
|
|
1220
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1405
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1221
1406
|
}
|
|
1222
1407
|
if (element == null) {
|
|
1223
1408
|
return;
|
|
1224
1409
|
}
|
|
1225
|
-
element
|
|
1410
|
+
if (isNodeList(element)) {
|
|
1411
|
+
// 设置
|
|
1412
|
+
element.forEach(($ele) => {
|
|
1413
|
+
DOMUtilsContext.addClass($ele, className);
|
|
1414
|
+
});
|
|
1415
|
+
return;
|
|
1416
|
+
}
|
|
1417
|
+
if (!Array.isArray(className)) {
|
|
1418
|
+
className = className.split(" ");
|
|
1419
|
+
}
|
|
1420
|
+
className.forEach((itemClassName) => {
|
|
1421
|
+
if (itemClassName.trim() == "") {
|
|
1422
|
+
return;
|
|
1423
|
+
}
|
|
1424
|
+
element.classList.add(itemClassName);
|
|
1425
|
+
});
|
|
1226
1426
|
}
|
|
1227
1427
|
/**
|
|
1228
1428
|
* 函数在元素内部末尾添加子元素或HTML字符串
|
|
@@ -1236,11 +1436,18 @@ var DOMUtils = (function () {
|
|
|
1236
1436
|
append(element, content) {
|
|
1237
1437
|
let DOMUtilsContext = this;
|
|
1238
1438
|
if (typeof element === "string") {
|
|
1239
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1439
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1240
1440
|
}
|
|
1241
1441
|
if (element == null) {
|
|
1242
1442
|
return;
|
|
1243
1443
|
}
|
|
1444
|
+
if (isNodeList(element)) {
|
|
1445
|
+
// 设置
|
|
1446
|
+
element.forEach(($ele) => {
|
|
1447
|
+
DOMUtilsContext.append($ele, content);
|
|
1448
|
+
});
|
|
1449
|
+
return;
|
|
1450
|
+
}
|
|
1244
1451
|
function elementAppendChild(ele, text) {
|
|
1245
1452
|
if (typeof content === "string") {
|
|
1246
1453
|
ele.insertAdjacentHTML("beforeend", text);
|
|
@@ -1254,7 +1461,7 @@ var DOMUtils = (function () {
|
|
|
1254
1461
|
let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();
|
|
1255
1462
|
content.forEach((ele) => {
|
|
1256
1463
|
if (typeof ele === "string") {
|
|
1257
|
-
ele =
|
|
1464
|
+
ele = DOMUtilsContext.parseHTML(ele, true, false);
|
|
1258
1465
|
}
|
|
1259
1466
|
fragment.appendChild(ele);
|
|
1260
1467
|
});
|
|
@@ -1276,11 +1483,18 @@ var DOMUtils = (function () {
|
|
|
1276
1483
|
prepend(element, content) {
|
|
1277
1484
|
let DOMUtilsContext = this;
|
|
1278
1485
|
if (typeof element === "string") {
|
|
1279
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1486
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1280
1487
|
}
|
|
1281
1488
|
if (element == null) {
|
|
1282
1489
|
return;
|
|
1283
1490
|
}
|
|
1491
|
+
if (isNodeList(element)) {
|
|
1492
|
+
// 设置
|
|
1493
|
+
element.forEach(($ele) => {
|
|
1494
|
+
DOMUtilsContext.prepend($ele, content);
|
|
1495
|
+
});
|
|
1496
|
+
return;
|
|
1497
|
+
}
|
|
1284
1498
|
if (typeof content === "string") {
|
|
1285
1499
|
element.insertAdjacentHTML("afterbegin", content);
|
|
1286
1500
|
}
|
|
@@ -1306,11 +1520,18 @@ var DOMUtils = (function () {
|
|
|
1306
1520
|
after(element, content) {
|
|
1307
1521
|
let DOMUtilsContext = this;
|
|
1308
1522
|
if (typeof element === "string") {
|
|
1309
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1523
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1310
1524
|
}
|
|
1311
1525
|
if (element == null) {
|
|
1312
1526
|
return;
|
|
1313
1527
|
}
|
|
1528
|
+
if (isNodeList(element)) {
|
|
1529
|
+
// 设置
|
|
1530
|
+
element.forEach(($ele) => {
|
|
1531
|
+
DOMUtilsContext.after($ele, content);
|
|
1532
|
+
});
|
|
1533
|
+
return;
|
|
1534
|
+
}
|
|
1314
1535
|
if (typeof content === "string") {
|
|
1315
1536
|
element.insertAdjacentHTML("afterend", content);
|
|
1316
1537
|
}
|
|
@@ -1338,11 +1559,18 @@ var DOMUtils = (function () {
|
|
|
1338
1559
|
before(element, content) {
|
|
1339
1560
|
let DOMUtilsContext = this;
|
|
1340
1561
|
if (typeof element === "string") {
|
|
1341
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1562
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1342
1563
|
}
|
|
1343
1564
|
if (element == null) {
|
|
1344
1565
|
return;
|
|
1345
1566
|
}
|
|
1567
|
+
if (isNodeList(element)) {
|
|
1568
|
+
// 设置
|
|
1569
|
+
element.forEach(($ele) => {
|
|
1570
|
+
DOMUtilsContext.before($ele, content);
|
|
1571
|
+
});
|
|
1572
|
+
return;
|
|
1573
|
+
}
|
|
1346
1574
|
if (typeof content === "string") {
|
|
1347
1575
|
element.insertAdjacentHTML("beforebegin", content);
|
|
1348
1576
|
}
|
|
@@ -1358,30 +1586,28 @@ var DOMUtils = (function () {
|
|
|
1358
1586
|
}
|
|
1359
1587
|
/**
|
|
1360
1588
|
* 移除元素
|
|
1361
|
-
* @param
|
|
1589
|
+
* @param element 目标元素
|
|
1362
1590
|
* @example
|
|
1363
1591
|
* // 元素a.xx前面添加一个元素
|
|
1364
1592
|
* DOMUtils.remove(document.querySelector("a.xx"))
|
|
1365
1593
|
* DOMUtils.remove(document.querySelectorAll("a.xx"))
|
|
1366
1594
|
* DOMUtils.remove("a.xx")
|
|
1367
1595
|
* */
|
|
1368
|
-
remove(
|
|
1596
|
+
remove(element) {
|
|
1369
1597
|
let DOMUtilsContext = this;
|
|
1370
|
-
if (typeof
|
|
1371
|
-
|
|
1598
|
+
if (typeof element === "string") {
|
|
1599
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1372
1600
|
}
|
|
1373
|
-
if (
|
|
1601
|
+
if (element == null) {
|
|
1374
1602
|
return;
|
|
1375
1603
|
}
|
|
1376
|
-
if (
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
}
|
|
1382
|
-
else {
|
|
1383
|
-
target.remove();
|
|
1604
|
+
if (isNodeList(element)) {
|
|
1605
|
+
element.forEach(($ele) => {
|
|
1606
|
+
DOMUtilsContext.remove($ele);
|
|
1607
|
+
});
|
|
1608
|
+
return;
|
|
1384
1609
|
}
|
|
1610
|
+
element.remove();
|
|
1385
1611
|
}
|
|
1386
1612
|
/**
|
|
1387
1613
|
* 移除元素的所有子元素
|
|
@@ -1394,11 +1620,18 @@ var DOMUtils = (function () {
|
|
|
1394
1620
|
empty(element) {
|
|
1395
1621
|
let DOMUtilsContext = this;
|
|
1396
1622
|
if (typeof element === "string") {
|
|
1397
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1623
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1398
1624
|
}
|
|
1399
1625
|
if (element == null) {
|
|
1400
1626
|
return;
|
|
1401
1627
|
}
|
|
1628
|
+
if (isNodeList(element)) {
|
|
1629
|
+
// 设置
|
|
1630
|
+
element.forEach(($ele) => {
|
|
1631
|
+
DOMUtilsContext.empty($ele);
|
|
1632
|
+
});
|
|
1633
|
+
return;
|
|
1634
|
+
}
|
|
1402
1635
|
element.innerHTML = "";
|
|
1403
1636
|
}
|
|
1404
1637
|
/**
|
|
@@ -1429,7 +1662,8 @@ var DOMUtils = (function () {
|
|
|
1429
1662
|
width(element, isShow = false) {
|
|
1430
1663
|
let DOMUtilsContext = this;
|
|
1431
1664
|
if (typeof element === "string") {
|
|
1432
|
-
element =
|
|
1665
|
+
element =
|
|
1666
|
+
DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1433
1667
|
}
|
|
1434
1668
|
if (element == null) {
|
|
1435
1669
|
return;
|
|
@@ -1541,7 +1775,7 @@ var DOMUtils = (function () {
|
|
|
1541
1775
|
}
|
|
1542
1776
|
element = element;
|
|
1543
1777
|
if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {
|
|
1544
|
-
let style = getComputedStyle(element, null);
|
|
1778
|
+
let style = DOMUtilsContext.windowApi.globalThis.getComputedStyle(element, null);
|
|
1545
1779
|
let marginLeft = DOMUtilsCommonUtils.getStyleValue(style, "marginLeft");
|
|
1546
1780
|
let marginRight = DOMUtilsCommonUtils.getStyleValue(style, "marginRight");
|
|
1547
1781
|
return element.offsetWidth + marginLeft + marginRight;
|
|
@@ -1567,7 +1801,7 @@ var DOMUtils = (function () {
|
|
|
1567
1801
|
}
|
|
1568
1802
|
element = element;
|
|
1569
1803
|
if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {
|
|
1570
|
-
let style = getComputedStyle(element, null);
|
|
1804
|
+
let style = DOMUtilsContext.windowApi.globalThis.getComputedStyle(element, null);
|
|
1571
1805
|
let marginTop = DOMUtilsCommonUtils.getStyleValue(style, "marginTop");
|
|
1572
1806
|
let marginBottom = DOMUtilsCommonUtils.getStyleValue(style, "marginBottom");
|
|
1573
1807
|
return element.offsetHeight + marginTop + marginBottom;
|
|
@@ -1594,11 +1828,18 @@ var DOMUtils = (function () {
|
|
|
1594
1828
|
animate(element, styles, duration = 1000, callback = null) {
|
|
1595
1829
|
let DOMUtilsContext = this;
|
|
1596
1830
|
if (typeof element === "string") {
|
|
1597
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1831
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1598
1832
|
}
|
|
1599
1833
|
if (element == null) {
|
|
1600
1834
|
return;
|
|
1601
1835
|
}
|
|
1836
|
+
if (isNodeList(element)) {
|
|
1837
|
+
// 设置
|
|
1838
|
+
element.forEach(($ele) => {
|
|
1839
|
+
DOMUtilsContext.animate($ele, styles, duration, callback);
|
|
1840
|
+
});
|
|
1841
|
+
return;
|
|
1842
|
+
}
|
|
1602
1843
|
if (typeof duration !== "number" || duration <= 0) {
|
|
1603
1844
|
throw new TypeError("duration must be a positive number");
|
|
1604
1845
|
}
|
|
@@ -1615,7 +1856,9 @@ var DOMUtils = (function () {
|
|
|
1615
1856
|
let from = {};
|
|
1616
1857
|
let to = {};
|
|
1617
1858
|
for (let prop in styles) {
|
|
1618
|
-
from[prop] =
|
|
1859
|
+
from[prop] =
|
|
1860
|
+
element.style[prop] ||
|
|
1861
|
+
DOMUtilsContext.windowApi.globalThis.getComputedStyle(element)[prop];
|
|
1619
1862
|
to[prop] = styles[prop];
|
|
1620
1863
|
}
|
|
1621
1864
|
let timer = setInterval(function () {
|
|
@@ -1647,18 +1890,26 @@ var DOMUtils = (function () {
|
|
|
1647
1890
|
wrap(element, wrapperHTML) {
|
|
1648
1891
|
let DOMUtilsContext = this;
|
|
1649
1892
|
if (typeof element === "string") {
|
|
1650
|
-
element = DOMUtilsContext.windowApi.document.
|
|
1893
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1651
1894
|
}
|
|
1652
1895
|
if (element == null) {
|
|
1653
1896
|
return;
|
|
1654
1897
|
}
|
|
1898
|
+
if (isNodeList(element)) {
|
|
1899
|
+
// 设置
|
|
1900
|
+
element.forEach(($ele) => {
|
|
1901
|
+
DOMUtilsContext.wrap($ele, wrapperHTML);
|
|
1902
|
+
});
|
|
1903
|
+
return;
|
|
1904
|
+
}
|
|
1655
1905
|
element = element;
|
|
1656
1906
|
// 创建一个新的div元素,并将wrapperHTML作为其innerHTML
|
|
1657
1907
|
let wrapper = DOMUtilsContext.windowApi.document.createElement("div");
|
|
1658
1908
|
wrapper.innerHTML = wrapperHTML;
|
|
1659
1909
|
let wrapperFirstChild = wrapper.firstChild;
|
|
1660
1910
|
// 将要包裹的元素插入目标元素前面
|
|
1661
|
-
element.parentElement
|
|
1911
|
+
let parentElement = element.parentElement;
|
|
1912
|
+
parentElement.insertBefore(wrapperFirstChild, element);
|
|
1662
1913
|
// 将要包裹的元素移动到wrapper中
|
|
1663
1914
|
wrapperFirstChild.appendChild(element);
|
|
1664
1915
|
}
|
|
@@ -1738,6 +1989,8 @@ var DOMUtils = (function () {
|
|
|
1738
1989
|
}
|
|
1739
1990
|
parseHTML(html, useParser = false, isComplete = false) {
|
|
1740
1991
|
let DOMUtilsContext = this;
|
|
1992
|
+
// 去除html前后的空格
|
|
1993
|
+
html = html.trim();
|
|
1741
1994
|
function parseHTMLByDOMParser() {
|
|
1742
1995
|
let parser = new DOMParser();
|
|
1743
1996
|
if (isComplete) {
|
|
@@ -1764,16 +2017,61 @@ var DOMUtils = (function () {
|
|
|
1764
2017
|
return parseHTMLByCreateDom();
|
|
1765
2018
|
}
|
|
1766
2019
|
}
|
|
2020
|
+
/**
|
|
2021
|
+
* 序列化表单元素
|
|
2022
|
+
* @param $form 表单元素
|
|
2023
|
+
* @example
|
|
2024
|
+
* DOMUtils.serialize(document.querySelector("form"))
|
|
2025
|
+
* > xxx=xxx&aaa=
|
|
2026
|
+
*/
|
|
2027
|
+
serialize($form) {
|
|
2028
|
+
const elements = $form.elements;
|
|
2029
|
+
let serializedArray = [];
|
|
2030
|
+
for (let i = 0; i < elements.length; i++) {
|
|
2031
|
+
const element = elements[i];
|
|
2032
|
+
if (element.name &&
|
|
2033
|
+
!element.disabled &&
|
|
2034
|
+
(element.checked ||
|
|
2035
|
+
[
|
|
2036
|
+
"text",
|
|
2037
|
+
"hidden",
|
|
2038
|
+
"password",
|
|
2039
|
+
"textarea",
|
|
2040
|
+
"select-one",
|
|
2041
|
+
"select-multiple",
|
|
2042
|
+
].includes(element.type))) {
|
|
2043
|
+
if (element.type === "select-multiple") {
|
|
2044
|
+
for (let j = 0; j < element.options.length; j++) {
|
|
2045
|
+
if (element.options[j].selected) {
|
|
2046
|
+
serializedArray.push({
|
|
2047
|
+
name: element.name,
|
|
2048
|
+
value: element.options[j].value,
|
|
2049
|
+
});
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
}
|
|
2053
|
+
else {
|
|
2054
|
+
serializedArray.push({ name: element.name, value: element.value });
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
return serializedArray
|
|
2059
|
+
.map((item) => `${encodeURIComponent(item.name)}=${encodeURIComponent(item.value)}`)
|
|
2060
|
+
.join("&");
|
|
2061
|
+
}
|
|
1767
2062
|
/**
|
|
1768
2063
|
* 显示元素
|
|
1769
2064
|
* @param target 当前元素
|
|
2065
|
+
* @param checkVisiblie 是否检测元素是否显示
|
|
2066
|
+
* + true (默认)如果检测到还未显示,则强制使用display: unset !important;
|
|
2067
|
+
* + false 不检测,直接设置display属性为空
|
|
1770
2068
|
* @example
|
|
1771
2069
|
* // 显示a.xx元素
|
|
1772
2070
|
* DOMUtils.show(document.querySelector("a.xx"))
|
|
1773
2071
|
* DOMUtils.show(document.querySelectorAll("a.xx"))
|
|
1774
2072
|
* DOMUtils.show("a.xx")
|
|
1775
2073
|
*/
|
|
1776
|
-
show(target) {
|
|
2074
|
+
show(target, checkVisiblie = true) {
|
|
1777
2075
|
let DOMUtilsContext = this;
|
|
1778
2076
|
if (target == null) {
|
|
1779
2077
|
return;
|
|
@@ -1784,28 +2082,33 @@ var DOMUtils = (function () {
|
|
|
1784
2082
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1785
2083
|
target = target;
|
|
1786
2084
|
for (const element of target) {
|
|
1787
|
-
DOMUtilsContext.show(element);
|
|
2085
|
+
DOMUtilsContext.show(element, checkVisiblie);
|
|
1788
2086
|
}
|
|
1789
2087
|
}
|
|
1790
2088
|
else {
|
|
1791
2089
|
target = target;
|
|
1792
2090
|
target.style.display = "";
|
|
1793
|
-
if (
|
|
1794
|
-
|
|
1795
|
-
|
|
2091
|
+
if (checkVisiblie) {
|
|
2092
|
+
if (!DOMUtilsCommonUtils.isShow(target)) {
|
|
2093
|
+
/* 仍然是不显示,尝试使用强覆盖 */
|
|
2094
|
+
target.style.setProperty("display", "unset", "important");
|
|
2095
|
+
}
|
|
1796
2096
|
}
|
|
1797
2097
|
}
|
|
1798
2098
|
}
|
|
1799
2099
|
/**
|
|
1800
2100
|
* 隐藏元素
|
|
1801
2101
|
* @param target 当前元素
|
|
2102
|
+
* @param checkVisiblie 是否检测元素是否显示
|
|
2103
|
+
* + true (默认)如果检测到显示,则强制使用display: none !important;
|
|
2104
|
+
* + false 不检测,直接设置display属性为none
|
|
1802
2105
|
* @example
|
|
1803
2106
|
* // 隐藏a.xx元素
|
|
1804
2107
|
* DOMUtils.hide(document.querySelector("a.xx"))
|
|
1805
2108
|
* DOMUtils.hide(document.querySelectorAll("a.xx"))
|
|
1806
2109
|
* DOMUtils.hide("a.xx")
|
|
1807
2110
|
*/
|
|
1808
|
-
hide(target) {
|
|
2111
|
+
hide(target, checkVisiblie = true) {
|
|
1809
2112
|
let DOMUtilsContext = this;
|
|
1810
2113
|
if (target == null) {
|
|
1811
2114
|
return;
|
|
@@ -1816,15 +2119,17 @@ var DOMUtils = (function () {
|
|
|
1816
2119
|
if (target instanceof NodeList || target instanceof Array) {
|
|
1817
2120
|
target = target;
|
|
1818
2121
|
for (const element of target) {
|
|
1819
|
-
DOMUtilsContext.hide(element);
|
|
2122
|
+
DOMUtilsContext.hide(element, checkVisiblie);
|
|
1820
2123
|
}
|
|
1821
2124
|
}
|
|
1822
2125
|
else {
|
|
1823
2126
|
target = target;
|
|
1824
2127
|
target.style.display = "none";
|
|
1825
|
-
if (
|
|
1826
|
-
|
|
1827
|
-
|
|
2128
|
+
if (checkVisiblie) {
|
|
2129
|
+
if (DOMUtilsCommonUtils.isShow(target)) {
|
|
2130
|
+
/* 仍然是显示,尝试使用强覆盖 */
|
|
2131
|
+
target.style.setProperty("display", "none", "important");
|
|
2132
|
+
}
|
|
1828
2133
|
}
|
|
1829
2134
|
}
|
|
1830
2135
|
}
|
|
@@ -1848,9 +2153,15 @@ var DOMUtils = (function () {
|
|
|
1848
2153
|
}
|
|
1849
2154
|
let DOMUtilsContext = this;
|
|
1850
2155
|
if (typeof element === "string") {
|
|
1851
|
-
element = DOMUtilsContext.windowApi.document.
|
|
2156
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
2157
|
+
}
|
|
2158
|
+
if (isNodeList(element)) {
|
|
2159
|
+
// 设置
|
|
2160
|
+
element.forEach(($ele) => {
|
|
2161
|
+
DOMUtilsContext.fadeIn($ele, duration, callback);
|
|
2162
|
+
});
|
|
2163
|
+
return;
|
|
1852
2164
|
}
|
|
1853
|
-
element = element;
|
|
1854
2165
|
element.style.opacity = "0";
|
|
1855
2166
|
element.style.display = "";
|
|
1856
2167
|
let start = null;
|
|
@@ -1893,9 +2204,15 @@ var DOMUtils = (function () {
|
|
|
1893
2204
|
return;
|
|
1894
2205
|
}
|
|
1895
2206
|
if (typeof element === "string") {
|
|
1896
|
-
element = DOMUtilsContext.windowApi.document.
|
|
2207
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
2208
|
+
}
|
|
2209
|
+
if (isNodeList(element)) {
|
|
2210
|
+
// 设置
|
|
2211
|
+
element.forEach(($ele) => {
|
|
2212
|
+
DOMUtilsContext.fadeOut($ele, duration, callback);
|
|
2213
|
+
});
|
|
2214
|
+
return;
|
|
1897
2215
|
}
|
|
1898
|
-
element = element;
|
|
1899
2216
|
element.style.opacity = "1";
|
|
1900
2217
|
let start = null;
|
|
1901
2218
|
let timer = null;
|
|
@@ -1921,24 +2238,34 @@ var DOMUtils = (function () {
|
|
|
1921
2238
|
/**
|
|
1922
2239
|
* 切换元素的显示和隐藏状态
|
|
1923
2240
|
* @param element 当前元素
|
|
2241
|
+
* @param checkVisiblie 是否检测元素是否显示
|
|
1924
2242
|
* @example
|
|
1925
2243
|
* // 如果元素a.xx当前是隐藏,则显示,如果是显示,则隐藏
|
|
1926
2244
|
* DOMUtils.toggle(document.querySelector("a.xx"))
|
|
1927
2245
|
* DOMUtils.toggle("a.xx")
|
|
1928
2246
|
*/
|
|
1929
|
-
toggle(element) {
|
|
2247
|
+
toggle(element, checkVisiblie) {
|
|
1930
2248
|
let DOMUtilsContext = this;
|
|
1931
2249
|
if (typeof element === "string") {
|
|
1932
|
-
element = DOMUtilsContext.windowApi.document.
|
|
2250
|
+
element = DOMUtilsContext.windowApi.document.querySelectorAll(element);
|
|
1933
2251
|
}
|
|
1934
2252
|
if (element == null) {
|
|
1935
2253
|
return;
|
|
1936
2254
|
}
|
|
1937
|
-
if (
|
|
1938
|
-
|
|
2255
|
+
if (isNodeList(element)) {
|
|
2256
|
+
// 设置
|
|
2257
|
+
element.forEach(($ele) => {
|
|
2258
|
+
DOMUtilsContext.toggle($ele);
|
|
2259
|
+
});
|
|
2260
|
+
return;
|
|
2261
|
+
}
|
|
2262
|
+
if (DOMUtilsContext.windowApi.globalThis
|
|
2263
|
+
.getComputedStyle(element)
|
|
2264
|
+
.getPropertyValue("display") === "none") {
|
|
2265
|
+
DOMUtilsContext.show(element, checkVisiblie);
|
|
1939
2266
|
}
|
|
1940
2267
|
else {
|
|
1941
|
-
DOMUtilsContext.hide(element);
|
|
2268
|
+
DOMUtilsContext.hide(element, checkVisiblie);
|
|
1942
2269
|
}
|
|
1943
2270
|
}
|
|
1944
2271
|
/**
|