@whitesev/domutils 1.6.2 → 1.6.3

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/src/DOMUtils.ts CHANGED
@@ -295,7 +295,7 @@ class DOMUtils extends DOMUtilsEvent {
295
295
  * DOMUtils.text("a.xx","abcd")
296
296
  * DOMUtils.text("a.xx",document.querySelector("b"))
297
297
  * */
298
- text(element: DOMUtilsTargetElementType): string;
298
+ text(element: DOMUtilsTargetElementType | Element | DocumentFragment | Node): string;
299
299
  /**
300
300
  * 设置元素的文本内容
301
301
  * @param element 目标元素
@@ -308,10 +308,10 @@ class DOMUtils extends DOMUtilsEvent {
308
308
  * DOMUtils.text("a.xx",document.querySelector("b"))
309
309
  * */
310
310
  text(
311
- element: DOMUtilsTargetElementType | DocumentFragment,
311
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Node,
312
312
  text: string | HTMLElement | Element | number
313
313
  ): void;
314
- text(element: DOMUtilsTargetElementType | DocumentFragment, text?: any) {
314
+ text(element: DOMUtilsTargetElementType | Element | DocumentFragment | Node, text?: any) {
315
315
  let DOMUtilsContext = this;
316
316
  if (typeof element === "string") {
317
317
  element = DOMUtilsContext.selectorAll(element);
@@ -713,7 +713,13 @@ class DOMUtils extends DOMUtilsEvent {
713
713
  if (typeof newElement === "string") {
714
714
  newElement = DOMUtilsContext.parseHTML(newElement, false, false);
715
715
  }
716
- element!.parentElement!.replaceChild(newElement as Node, element);
716
+ let $parent = element.parentElement;
717
+ if ($parent) {
718
+ $parent.replaceChild(newElement as Node, element);
719
+ } else {
720
+ DOMUtilsContext.after(element, newElement as HTMLElement);
721
+ element.remove();
722
+ }
717
723
  }
718
724
  /**
719
725
  * 给元素添加class
@@ -962,7 +968,7 @@ class DOMUtils extends DOMUtilsEvent {
962
968
  * DOMUtils.remove(document.querySelectorAll("a.xx"))
963
969
  * DOMUtils.remove("a.xx")
964
970
  * */
965
- remove(element: DOMUtilsTargetElementType) {
971
+ remove(element: DOMUtilsTargetElementType | Element) {
966
972
  let DOMUtilsContext = this;
967
973
  if (typeof element === "string") {
968
974
  element = DOMUtilsContext.selectorAll(element);
@@ -976,7 +982,13 @@ class DOMUtils extends DOMUtilsEvent {
976
982
  });
977
983
  return;
978
984
  }
979
- element.remove();
985
+ if (typeof element.remove === "function") {
986
+ element.remove();
987
+ } else if (element.parentElement) {
988
+ element.parentElement.removeChild(element);
989
+ } else if (element.parentNode) {
990
+ element.parentNode.removeChild(element);
991
+ }
980
992
  }
981
993
  /**
982
994
  * 移除元素的所有子元素
@@ -986,7 +998,7 @@ class DOMUtils extends DOMUtilsEvent {
986
998
  * DOMUtils.empty(document.querySelector("a.xx"))
987
999
  * DOMUtils.empty("a.xx")
988
1000
  * */
989
- empty(element: DOMUtilsTargetElementType) {
1001
+ empty(element: DOMUtilsTargetElementType | Element) {
990
1002
  let DOMUtilsContext = this;
991
1003
  if (typeof element === "string") {
992
1004
  element = DOMUtilsContext.selectorAll(element);
@@ -1001,7 +1013,11 @@ class DOMUtils extends DOMUtilsEvent {
1001
1013
  });
1002
1014
  return;
1003
1015
  }
1004
- DOMUtilsContext.html(element, "");
1016
+ if (element.innerHTML) {
1017
+ element.innerHTML = "";
1018
+ } else if (element.textContent) {
1019
+ element.textContent = "";
1020
+ }
1005
1021
  }
1006
1022
  /**
1007
1023
  * 获取元素相对于文档的偏移坐标(加上文档的滚动条)
@@ -1496,7 +1512,7 @@ class DOMUtils extends DOMUtilsEvent {
1496
1512
  * DOMUtils.parent("a.xx")
1497
1513
  * > <div ...>....</div>
1498
1514
  */
1499
- parent(element: HTMLElement | NodeList | string | HTMLElement[]) {
1515
+ parent(element: HTMLElement | Element | Node | NodeList | string | HTMLElement[]) {
1500
1516
  let DOMUtilsContext = this;
1501
1517
  if (typeof element === "string") {
1502
1518
  element = DOMUtilsContext.selector<HTMLElement>(element)!;
@@ -728,7 +728,14 @@ export class DOMUtilsEvent {
728
728
  * DOMUtils.trigger("a.xx",["click","tap","hover"])
729
729
  */
730
730
  trigger(
731
- element: DOMUtilsTargetElementType | any[] | typeof globalThis | Window | Document,
731
+ element:
732
+ | DOMUtilsTargetElementType
733
+ | Element
734
+ | DocumentFragment
735
+ | any[]
736
+ | typeof globalThis
737
+ | Window
738
+ | Document,
732
739
  eventType: string,
733
740
  details?: object,
734
741
  useDispatchToTriggerEvent?: boolean
@@ -835,7 +842,7 @@ export class DOMUtilsEvent {
835
842
  * })
836
843
  * */
837
844
  click(
838
- element: DOMUtilsTargetElementType | typeof globalThis | Window,
845
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window,
839
846
  handler?: (this: HTMLElement, event: DOMUtils_Event["click"]) => void,
840
847
  details?: any,
841
848
  useDispatchToTriggerEvent?: boolean
@@ -875,14 +882,14 @@ export class DOMUtilsEvent {
875
882
  * })
876
883
  * */
877
884
  blur(
878
- element: DOMUtilsTargetElementType | typeof globalThis | Window,
885
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window,
879
886
  handler?: (this: HTMLElement, event: DOMUtils_Event["blur"]) => void,
880
887
  details?: object,
881
888
  useDispatchToTriggerEvent?: boolean
882
889
  ) {
883
890
  let DOMUtilsContext = this;
884
891
  if (typeof element === "string") {
885
- element = DOMUtilsContext.selectorAll<HTMLElement>(element);
892
+ element = DOMUtilsContext.selectorAll(element);
886
893
  }
887
894
  if (element == null) {
888
895
  return;
@@ -915,14 +922,14 @@ export class DOMUtilsEvent {
915
922
  * })
916
923
  * */
917
924
  focus(
918
- element: DOMUtilsTargetElementType | typeof globalThis | Window,
925
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | typeof globalThis | Window,
919
926
  handler?: (this: HTMLElement, event: DOMUtils_Event["focus"]) => void,
920
927
  details?: object,
921
928
  useDispatchToTriggerEvent?: boolean
922
929
  ) {
923
930
  let DOMUtilsContext = this;
924
931
  if (typeof element === "string") {
925
- element = DOMUtilsContext.selectorAll<HTMLElement>(element);
932
+ element = DOMUtilsContext.selectorAll(element);
926
933
  }
927
934
  if (element == null) {
928
935
  return;
@@ -955,13 +962,13 @@ export class DOMUtilsEvent {
955
962
  * })
956
963
  */
957
964
  hover(
958
- element: DOMUtilsTargetElementType,
965
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Node,
959
966
  handler: (this: HTMLElement, event: DOMUtils_Event["hover"]) => void,
960
967
  option?: boolean | DOMUtilsEventListenerOption
961
968
  ) {
962
969
  let DOMUtilsContext = this;
963
970
  if (typeof element === "string") {
964
- element = DOMUtilsContext.selectorAll<HTMLElement>(element);
971
+ element = DOMUtilsContext.selectorAll(element);
965
972
  }
966
973
  if (element == null) {
967
974
  return;
@@ -983,13 +990,13 @@ export class DOMUtilsEvent {
983
990
  * @param option 配置项,这里默认配置once为true
984
991
  */
985
992
  animationend(
986
- element: HTMLElement | string,
993
+ element: HTMLElement | string | Element | DocumentFragment,
987
994
  handler: (this: HTMLElement, event: DOMUtils_Event["animationend"]) => void,
988
995
  option?: boolean | DOMUtilsEventListenerOption
989
996
  ) {
990
997
  let DOMUtilsContext = this;
991
998
  if (typeof element === "string") {
992
- element = DOMUtilsContext.selector<HTMLElement>(element)!;
999
+ element = DOMUtilsContext.selector(element)!;
993
1000
  }
994
1001
  if (element == null) {
995
1002
  return;
@@ -1022,13 +1029,13 @@ export class DOMUtilsEvent {
1022
1029
  * @param option 配置项,这里默认配置once为true
1023
1030
  */
1024
1031
  transitionend(
1025
- element: HTMLElement | string,
1032
+ element: HTMLElement | string | Element | DocumentFragment,
1026
1033
  handler: (this: HTMLElement, event: DOMUtils_Event["transitionend"]) => void,
1027
1034
  option?: boolean | DOMUtilsEventListenerOption
1028
1035
  ) {
1029
1036
  let DOMUtilsContext = this;
1030
1037
  if (typeof element === "string") {
1031
- element = DOMUtilsContext.selector<HTMLElement>(element)!;
1038
+ element = DOMUtilsContext.selector(element)!;
1032
1039
  }
1033
1040
  if (element == null) {
1034
1041
  return;
@@ -1070,7 +1077,7 @@ export class DOMUtilsEvent {
1070
1077
  * })
1071
1078
  */
1072
1079
  keyup(
1073
- element: DOMUtilsTargetElementType | Window | typeof globalThis,
1080
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis,
1074
1081
  handler: (this: HTMLElement, event: DOMUtils_Event["keyup"]) => void,
1075
1082
  option?: boolean | DOMUtilsEventListenerOption
1076
1083
  ) {
@@ -1106,7 +1113,7 @@ export class DOMUtilsEvent {
1106
1113
  * })
1107
1114
  */
1108
1115
  keydown(
1109
- element: DOMUtilsTargetElementType | Window | typeof globalThis,
1116
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis,
1110
1117
  handler: (this: HTMLElement, event: DOMUtils_Event["keydown"]) => void,
1111
1118
  option?: boolean | DOMUtilsEventListenerOption
1112
1119
  ) {
@@ -1142,7 +1149,7 @@ export class DOMUtilsEvent {
1142
1149
  * })
1143
1150
  */
1144
1151
  keypress(
1145
- element: DOMUtilsTargetElementType | Window | typeof globalThis,
1152
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis,
1146
1153
  handler: (this: HTMLElement, event: DOMUtils_Event["keypress"]) => void,
1147
1154
  option?: boolean | DOMUtilsEventListenerOption
1148
1155
  ) {
@@ -1226,7 +1233,7 @@ export class DOMUtilsEvent {
1226
1233
  收藏 171
1227
1234
  **/
1228
1235
  listenKeyboard(
1229
- element: DOMUtilsTargetElementType | Window | Node | typeof globalThis,
1236
+ element: DOMUtilsTargetElementType | Element | DocumentFragment | Window | Node | typeof globalThis,
1230
1237
  eventName: "keyup" | "keypress" | "keydown" = "keypress",
1231
1238
  callback: (keyName: string, keyValue: number, otherCodeList: string[], event: KeyboardEvent) => void,
1232
1239
  options?: DOMUtilsEventListenerOption | boolean