@whitesev/domutils 1.3.7 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/dist/index.amd.js +98 -55
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +98 -55
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +98 -55
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +98 -55
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +98 -55
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +98 -55
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/DOMUtils.d.ts +14 -7
- package/dist/types/src/DOMUtilsCommonUtils.d.ts +2 -2
- package/dist/types/src/DOMUtilsData.d.ts +1 -1
- package/dist/types/src/DOMUtilsEvent.d.ts +5 -204
- package/dist/types/src/WindowApi.d.ts +2 -11
- package/dist/types/src/types/DOMUtilsEvent.d.ts +238 -0
- package/dist/types/src/types/WindowApi.d.ts +10 -0
- package/package.json +1 -1
- package/src/DOMUtils.ts +68 -46
- package/src/DOMUtilsCommonUtils.ts +5 -4
- package/src/DOMUtilsData.ts +1 -1
- package/src/DOMUtilsEvent.ts +12 -248
- package/src/WindowApi.ts +13 -13
- package/src/types/DOMUtilsEvent.d.ts +238 -0
- package/src/types/WindowApi.d.ts +10 -0
package/dist/index.esm.js
CHANGED
|
@@ -1,9 +1,53 @@
|
|
|
1
|
+
class WindowApi {
|
|
2
|
+
/** 默认的配置 */
|
|
3
|
+
defaultApi = {
|
|
4
|
+
document: document,
|
|
5
|
+
window: window,
|
|
6
|
+
globalThis: globalThis,
|
|
7
|
+
self: self,
|
|
8
|
+
top: top,
|
|
9
|
+
};
|
|
10
|
+
/** 使用的配置 */
|
|
11
|
+
api;
|
|
12
|
+
constructor(option) {
|
|
13
|
+
if (option) {
|
|
14
|
+
if (option.globalThis == null) {
|
|
15
|
+
option.globalThis = option.window;
|
|
16
|
+
}
|
|
17
|
+
if (option.self == null) {
|
|
18
|
+
option.self = option.window;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (!option) {
|
|
22
|
+
option = Object.assign({}, this.defaultApi);
|
|
23
|
+
}
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
this.api = Object.assign({}, option);
|
|
26
|
+
}
|
|
27
|
+
get document() {
|
|
28
|
+
return this.api.document;
|
|
29
|
+
}
|
|
30
|
+
get window() {
|
|
31
|
+
return this.api.window;
|
|
32
|
+
}
|
|
33
|
+
get globalThis() {
|
|
34
|
+
return this.api.globalThis;
|
|
35
|
+
}
|
|
36
|
+
get self() {
|
|
37
|
+
return this.api.self;
|
|
38
|
+
}
|
|
39
|
+
get top() {
|
|
40
|
+
return this.api.top;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
1
44
|
/** 通用工具类 */
|
|
2
45
|
const DOMUtilsCommonUtils = {
|
|
3
|
-
windowApi: {
|
|
4
|
-
window: window,
|
|
46
|
+
windowApi: new WindowApi({
|
|
5
47
|
document: document,
|
|
6
|
-
|
|
48
|
+
window: window,
|
|
49
|
+
top: top,
|
|
50
|
+
}),
|
|
7
51
|
/**
|
|
8
52
|
* 判断元素是否已显示或已连接
|
|
9
53
|
* @param element
|
|
@@ -109,7 +153,7 @@ const DOMUtilsCommonUtils = {
|
|
|
109
153
|
|
|
110
154
|
/* 数据 */
|
|
111
155
|
const DOMUtilsData = {
|
|
112
|
-
/** .on
|
|
156
|
+
/** .on添加在元素存储的事件 */
|
|
113
157
|
SymbolEvents: Symbol("events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)),
|
|
114
158
|
};
|
|
115
159
|
|
|
@@ -119,40 +163,6 @@ const OriginPrototype = {
|
|
|
119
163
|
},
|
|
120
164
|
};
|
|
121
165
|
|
|
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
|
-
|
|
156
166
|
class DOMUtilsEvent {
|
|
157
167
|
windowApi;
|
|
158
168
|
constructor(windowApiOption) {
|
|
@@ -529,7 +539,7 @@ class DOMUtilsEvent {
|
|
|
529
539
|
trigger(element, eventType, details, useDispatchToTriggerEvent = true) {
|
|
530
540
|
let DOMUtilsContext = this;
|
|
531
541
|
if (typeof element === "string") {
|
|
532
|
-
element = DOMUtilsContext.
|
|
542
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
533
543
|
}
|
|
534
544
|
if (element == null) {
|
|
535
545
|
return;
|
|
@@ -629,7 +639,7 @@ class DOMUtilsEvent {
|
|
|
629
639
|
blur(element, handler, details, useDispatchToTriggerEvent) {
|
|
630
640
|
let DOMUtilsContext = this;
|
|
631
641
|
if (typeof element === "string") {
|
|
632
|
-
element = DOMUtilsContext.
|
|
642
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
633
643
|
}
|
|
634
644
|
if (element == null) {
|
|
635
645
|
return;
|
|
@@ -965,7 +975,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
965
975
|
super(option);
|
|
966
976
|
}
|
|
967
977
|
/** 版本号 */
|
|
968
|
-
version = "2024.
|
|
978
|
+
version = "2024.11.6";
|
|
969
979
|
attr(element, attrName, attrValue) {
|
|
970
980
|
let DOMUtilsContext = this;
|
|
971
981
|
if (typeof element === "string") {
|
|
@@ -1462,6 +1472,41 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1462
1472
|
element.classList.add(itemClassName);
|
|
1463
1473
|
});
|
|
1464
1474
|
}
|
|
1475
|
+
/**
|
|
1476
|
+
* 判断元素是否存在className
|
|
1477
|
+
* @param element
|
|
1478
|
+
* @param className
|
|
1479
|
+
*/
|
|
1480
|
+
hasClass(element, className) {
|
|
1481
|
+
let DOMUtilsContext = this;
|
|
1482
|
+
if (typeof element === "string") {
|
|
1483
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
1484
|
+
}
|
|
1485
|
+
if (element == null) {
|
|
1486
|
+
return false;
|
|
1487
|
+
}
|
|
1488
|
+
if (isNodeList(element)) {
|
|
1489
|
+
let flag = true;
|
|
1490
|
+
for (let index = 0; index < element.length; index++) {
|
|
1491
|
+
const $ele = element[index];
|
|
1492
|
+
flag = flag && DOMUtilsContext.hasClass($ele, className);
|
|
1493
|
+
}
|
|
1494
|
+
return flag;
|
|
1495
|
+
}
|
|
1496
|
+
if (!element?.classList) {
|
|
1497
|
+
return false;
|
|
1498
|
+
}
|
|
1499
|
+
if (!Array.isArray(className)) {
|
|
1500
|
+
className = className.split(" ");
|
|
1501
|
+
}
|
|
1502
|
+
for (let index = 0; index < className.length; index++) {
|
|
1503
|
+
const item = className[index].trim();
|
|
1504
|
+
if (!element.classList.contains(item)) {
|
|
1505
|
+
return false;
|
|
1506
|
+
}
|
|
1507
|
+
}
|
|
1508
|
+
return true;
|
|
1509
|
+
}
|
|
1465
1510
|
/**
|
|
1466
1511
|
* 函数在元素内部末尾添加子元素或HTML字符串
|
|
1467
1512
|
* @param element 目标元素
|
|
@@ -1684,7 +1729,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1684
1729
|
offset(element) {
|
|
1685
1730
|
let DOMUtilsContext = this;
|
|
1686
1731
|
if (typeof element === "string") {
|
|
1687
|
-
element = DOMUtilsContext.
|
|
1732
|
+
element = DOMUtilsContext.selector(element);
|
|
1688
1733
|
}
|
|
1689
1734
|
if (element == null) {
|
|
1690
1735
|
return;
|
|
@@ -1700,8 +1745,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1700
1745
|
width(element, isShow = false) {
|
|
1701
1746
|
let DOMUtilsContext = this;
|
|
1702
1747
|
if (typeof element === "string") {
|
|
1703
|
-
element =
|
|
1704
|
-
DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1748
|
+
element = DOMUtilsContext.selector(element);
|
|
1705
1749
|
}
|
|
1706
1750
|
if (element == null) {
|
|
1707
1751
|
return;
|
|
@@ -1755,7 +1799,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1755
1799
|
.clientHeight;
|
|
1756
1800
|
}
|
|
1757
1801
|
if (typeof element === "string") {
|
|
1758
|
-
element = DOMUtilsContext.
|
|
1802
|
+
element = DOMUtilsContext.selector(element);
|
|
1759
1803
|
}
|
|
1760
1804
|
if (element == null) {
|
|
1761
1805
|
// @ts-ignore
|
|
@@ -1805,7 +1849,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1805
1849
|
return DOMUtilsContext.windowApi.window.innerWidth;
|
|
1806
1850
|
}
|
|
1807
1851
|
if (typeof element === "string") {
|
|
1808
|
-
element = DOMUtilsContext.
|
|
1852
|
+
element = DOMUtilsContext.selector(element);
|
|
1809
1853
|
}
|
|
1810
1854
|
if (element == null) {
|
|
1811
1855
|
// @ts-ignore
|
|
@@ -1831,7 +1875,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1831
1875
|
return DOMUtilsContext.windowApi.window.innerHeight;
|
|
1832
1876
|
}
|
|
1833
1877
|
if (typeof element === "string") {
|
|
1834
|
-
element = DOMUtilsContext.
|
|
1878
|
+
element = DOMUtilsContext.selector(element);
|
|
1835
1879
|
}
|
|
1836
1880
|
if (element == null) {
|
|
1837
1881
|
// @ts-ignore
|
|
@@ -1954,7 +1998,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1954
1998
|
prev(element) {
|
|
1955
1999
|
let DOMUtilsContext = this;
|
|
1956
2000
|
if (typeof element === "string") {
|
|
1957
|
-
element = DOMUtilsContext.
|
|
2001
|
+
element = DOMUtilsContext.selector(element);
|
|
1958
2002
|
}
|
|
1959
2003
|
if (element == null) {
|
|
1960
2004
|
return;
|
|
@@ -1964,7 +2008,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1964
2008
|
next(element) {
|
|
1965
2009
|
let DOMUtilsContext = this;
|
|
1966
2010
|
if (typeof element === "string") {
|
|
1967
|
-
element = DOMUtilsContext.
|
|
2011
|
+
element = DOMUtilsContext.selector(element);
|
|
1968
2012
|
}
|
|
1969
2013
|
if (element == null) {
|
|
1970
2014
|
return;
|
|
@@ -1987,7 +2031,7 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
1987
2031
|
siblings(element) {
|
|
1988
2032
|
let DOMUtilsContext = this;
|
|
1989
2033
|
if (typeof element === "string") {
|
|
1990
|
-
element = DOMUtilsContext.
|
|
2034
|
+
element = DOMUtilsContext.selector(element);
|
|
1991
2035
|
}
|
|
1992
2036
|
if (element == null) {
|
|
1993
2037
|
return;
|
|
@@ -2008,16 +2052,15 @@ class DOMUtils extends DOMUtilsEvent {
|
|
|
2008
2052
|
parent(element) {
|
|
2009
2053
|
let DOMUtilsContext = this;
|
|
2010
2054
|
if (typeof element === "string") {
|
|
2011
|
-
element = DOMUtilsContext.
|
|
2055
|
+
element = DOMUtilsContext.selector(element);
|
|
2012
2056
|
}
|
|
2013
2057
|
if (element == null) {
|
|
2014
2058
|
return;
|
|
2015
2059
|
}
|
|
2016
|
-
if (element
|
|
2017
|
-
element = element;
|
|
2060
|
+
if (isNodeList(element)) {
|
|
2018
2061
|
let resultArray = [];
|
|
2019
|
-
element.forEach((
|
|
2020
|
-
resultArray.push(DOMUtilsContext.parent(
|
|
2062
|
+
element.forEach(($ele) => {
|
|
2063
|
+
resultArray.push(DOMUtilsContext.parent($ele));
|
|
2021
2064
|
});
|
|
2022
2065
|
return resultArray;
|
|
2023
2066
|
}
|