@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.umd.js
CHANGED
|
@@ -4,12 +4,56 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMUtils = factory());
|
|
5
5
|
})(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
+
class WindowApi {
|
|
8
|
+
/** 默认的配置 */
|
|
9
|
+
defaultApi = {
|
|
10
|
+
document: document,
|
|
11
|
+
window: window,
|
|
12
|
+
globalThis: globalThis,
|
|
13
|
+
self: self,
|
|
14
|
+
top: top,
|
|
15
|
+
};
|
|
16
|
+
/** 使用的配置 */
|
|
17
|
+
api;
|
|
18
|
+
constructor(option) {
|
|
19
|
+
if (option) {
|
|
20
|
+
if (option.globalThis == null) {
|
|
21
|
+
option.globalThis = option.window;
|
|
22
|
+
}
|
|
23
|
+
if (option.self == null) {
|
|
24
|
+
option.self = option.window;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (!option) {
|
|
28
|
+
option = Object.assign({}, this.defaultApi);
|
|
29
|
+
}
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
this.api = Object.assign({}, option);
|
|
32
|
+
}
|
|
33
|
+
get document() {
|
|
34
|
+
return this.api.document;
|
|
35
|
+
}
|
|
36
|
+
get window() {
|
|
37
|
+
return this.api.window;
|
|
38
|
+
}
|
|
39
|
+
get globalThis() {
|
|
40
|
+
return this.api.globalThis;
|
|
41
|
+
}
|
|
42
|
+
get self() {
|
|
43
|
+
return this.api.self;
|
|
44
|
+
}
|
|
45
|
+
get top() {
|
|
46
|
+
return this.api.top;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
7
50
|
/** 通用工具类 */
|
|
8
51
|
const DOMUtilsCommonUtils = {
|
|
9
|
-
windowApi: {
|
|
10
|
-
window: window,
|
|
52
|
+
windowApi: new WindowApi({
|
|
11
53
|
document: document,
|
|
12
|
-
|
|
54
|
+
window: window,
|
|
55
|
+
top: top,
|
|
56
|
+
}),
|
|
13
57
|
/**
|
|
14
58
|
* 判断元素是否已显示或已连接
|
|
15
59
|
* @param element
|
|
@@ -115,7 +159,7 @@
|
|
|
115
159
|
|
|
116
160
|
/* 数据 */
|
|
117
161
|
const DOMUtilsData = {
|
|
118
|
-
/** .on
|
|
162
|
+
/** .on添加在元素存储的事件 */
|
|
119
163
|
SymbolEvents: Symbol("events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)),
|
|
120
164
|
};
|
|
121
165
|
|
|
@@ -125,40 +169,6 @@
|
|
|
125
169
|
},
|
|
126
170
|
};
|
|
127
171
|
|
|
128
|
-
class WindowApi {
|
|
129
|
-
/** 默认的配置 */
|
|
130
|
-
defaultApi = {
|
|
131
|
-
document: document,
|
|
132
|
-
window: window,
|
|
133
|
-
globalThis: globalThis,
|
|
134
|
-
self: self,
|
|
135
|
-
top: top,
|
|
136
|
-
};
|
|
137
|
-
/** 使用的配置 */
|
|
138
|
-
api;
|
|
139
|
-
constructor(option) {
|
|
140
|
-
if (!option) {
|
|
141
|
-
option = Object.assign({}, this.defaultApi);
|
|
142
|
-
}
|
|
143
|
-
this.api = Object.assign({}, option);
|
|
144
|
-
}
|
|
145
|
-
get document() {
|
|
146
|
-
return this.api.document;
|
|
147
|
-
}
|
|
148
|
-
get window() {
|
|
149
|
-
return this.api.window;
|
|
150
|
-
}
|
|
151
|
-
get globalThis() {
|
|
152
|
-
return this.api.globalThis;
|
|
153
|
-
}
|
|
154
|
-
get self() {
|
|
155
|
-
return this.api.self;
|
|
156
|
-
}
|
|
157
|
-
get top() {
|
|
158
|
-
return this.api.top;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
172
|
class DOMUtilsEvent {
|
|
163
173
|
windowApi;
|
|
164
174
|
constructor(windowApiOption) {
|
|
@@ -535,7 +545,7 @@
|
|
|
535
545
|
trigger(element, eventType, details, useDispatchToTriggerEvent = true) {
|
|
536
546
|
let DOMUtilsContext = this;
|
|
537
547
|
if (typeof element === "string") {
|
|
538
|
-
element = DOMUtilsContext.
|
|
548
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
539
549
|
}
|
|
540
550
|
if (element == null) {
|
|
541
551
|
return;
|
|
@@ -635,7 +645,7 @@
|
|
|
635
645
|
blur(element, handler, details, useDispatchToTriggerEvent) {
|
|
636
646
|
let DOMUtilsContext = this;
|
|
637
647
|
if (typeof element === "string") {
|
|
638
|
-
element = DOMUtilsContext.
|
|
648
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
639
649
|
}
|
|
640
650
|
if (element == null) {
|
|
641
651
|
return;
|
|
@@ -971,7 +981,7 @@
|
|
|
971
981
|
super(option);
|
|
972
982
|
}
|
|
973
983
|
/** 版本号 */
|
|
974
|
-
version = "2024.
|
|
984
|
+
version = "2024.11.6";
|
|
975
985
|
attr(element, attrName, attrValue) {
|
|
976
986
|
let DOMUtilsContext = this;
|
|
977
987
|
if (typeof element === "string") {
|
|
@@ -1468,6 +1478,41 @@
|
|
|
1468
1478
|
element.classList.add(itemClassName);
|
|
1469
1479
|
});
|
|
1470
1480
|
}
|
|
1481
|
+
/**
|
|
1482
|
+
* 判断元素是否存在className
|
|
1483
|
+
* @param element
|
|
1484
|
+
* @param className
|
|
1485
|
+
*/
|
|
1486
|
+
hasClass(element, className) {
|
|
1487
|
+
let DOMUtilsContext = this;
|
|
1488
|
+
if (typeof element === "string") {
|
|
1489
|
+
element = DOMUtilsContext.selectorAll(element);
|
|
1490
|
+
}
|
|
1491
|
+
if (element == null) {
|
|
1492
|
+
return false;
|
|
1493
|
+
}
|
|
1494
|
+
if (isNodeList(element)) {
|
|
1495
|
+
let flag = true;
|
|
1496
|
+
for (let index = 0; index < element.length; index++) {
|
|
1497
|
+
const $ele = element[index];
|
|
1498
|
+
flag = flag && DOMUtilsContext.hasClass($ele, className);
|
|
1499
|
+
}
|
|
1500
|
+
return flag;
|
|
1501
|
+
}
|
|
1502
|
+
if (!element?.classList) {
|
|
1503
|
+
return false;
|
|
1504
|
+
}
|
|
1505
|
+
if (!Array.isArray(className)) {
|
|
1506
|
+
className = className.split(" ");
|
|
1507
|
+
}
|
|
1508
|
+
for (let index = 0; index < className.length; index++) {
|
|
1509
|
+
const item = className[index].trim();
|
|
1510
|
+
if (!element.classList.contains(item)) {
|
|
1511
|
+
return false;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
return true;
|
|
1515
|
+
}
|
|
1471
1516
|
/**
|
|
1472
1517
|
* 函数在元素内部末尾添加子元素或HTML字符串
|
|
1473
1518
|
* @param element 目标元素
|
|
@@ -1690,7 +1735,7 @@
|
|
|
1690
1735
|
offset(element) {
|
|
1691
1736
|
let DOMUtilsContext = this;
|
|
1692
1737
|
if (typeof element === "string") {
|
|
1693
|
-
element = DOMUtilsContext.
|
|
1738
|
+
element = DOMUtilsContext.selector(element);
|
|
1694
1739
|
}
|
|
1695
1740
|
if (element == null) {
|
|
1696
1741
|
return;
|
|
@@ -1706,8 +1751,7 @@
|
|
|
1706
1751
|
width(element, isShow = false) {
|
|
1707
1752
|
let DOMUtilsContext = this;
|
|
1708
1753
|
if (typeof element === "string") {
|
|
1709
|
-
element =
|
|
1710
|
-
DOMUtilsContext.windowApi.document.querySelector(element);
|
|
1754
|
+
element = DOMUtilsContext.selector(element);
|
|
1711
1755
|
}
|
|
1712
1756
|
if (element == null) {
|
|
1713
1757
|
return;
|
|
@@ -1761,7 +1805,7 @@
|
|
|
1761
1805
|
.clientHeight;
|
|
1762
1806
|
}
|
|
1763
1807
|
if (typeof element === "string") {
|
|
1764
|
-
element = DOMUtilsContext.
|
|
1808
|
+
element = DOMUtilsContext.selector(element);
|
|
1765
1809
|
}
|
|
1766
1810
|
if (element == null) {
|
|
1767
1811
|
// @ts-ignore
|
|
@@ -1811,7 +1855,7 @@
|
|
|
1811
1855
|
return DOMUtilsContext.windowApi.window.innerWidth;
|
|
1812
1856
|
}
|
|
1813
1857
|
if (typeof element === "string") {
|
|
1814
|
-
element = DOMUtilsContext.
|
|
1858
|
+
element = DOMUtilsContext.selector(element);
|
|
1815
1859
|
}
|
|
1816
1860
|
if (element == null) {
|
|
1817
1861
|
// @ts-ignore
|
|
@@ -1837,7 +1881,7 @@
|
|
|
1837
1881
|
return DOMUtilsContext.windowApi.window.innerHeight;
|
|
1838
1882
|
}
|
|
1839
1883
|
if (typeof element === "string") {
|
|
1840
|
-
element = DOMUtilsContext.
|
|
1884
|
+
element = DOMUtilsContext.selector(element);
|
|
1841
1885
|
}
|
|
1842
1886
|
if (element == null) {
|
|
1843
1887
|
// @ts-ignore
|
|
@@ -1960,7 +2004,7 @@
|
|
|
1960
2004
|
prev(element) {
|
|
1961
2005
|
let DOMUtilsContext = this;
|
|
1962
2006
|
if (typeof element === "string") {
|
|
1963
|
-
element = DOMUtilsContext.
|
|
2007
|
+
element = DOMUtilsContext.selector(element);
|
|
1964
2008
|
}
|
|
1965
2009
|
if (element == null) {
|
|
1966
2010
|
return;
|
|
@@ -1970,7 +2014,7 @@
|
|
|
1970
2014
|
next(element) {
|
|
1971
2015
|
let DOMUtilsContext = this;
|
|
1972
2016
|
if (typeof element === "string") {
|
|
1973
|
-
element = DOMUtilsContext.
|
|
2017
|
+
element = DOMUtilsContext.selector(element);
|
|
1974
2018
|
}
|
|
1975
2019
|
if (element == null) {
|
|
1976
2020
|
return;
|
|
@@ -1993,7 +2037,7 @@
|
|
|
1993
2037
|
siblings(element) {
|
|
1994
2038
|
let DOMUtilsContext = this;
|
|
1995
2039
|
if (typeof element === "string") {
|
|
1996
|
-
element = DOMUtilsContext.
|
|
2040
|
+
element = DOMUtilsContext.selector(element);
|
|
1997
2041
|
}
|
|
1998
2042
|
if (element == null) {
|
|
1999
2043
|
return;
|
|
@@ -2014,16 +2058,15 @@
|
|
|
2014
2058
|
parent(element) {
|
|
2015
2059
|
let DOMUtilsContext = this;
|
|
2016
2060
|
if (typeof element === "string") {
|
|
2017
|
-
element = DOMUtilsContext.
|
|
2061
|
+
element = DOMUtilsContext.selector(element);
|
|
2018
2062
|
}
|
|
2019
2063
|
if (element == null) {
|
|
2020
2064
|
return;
|
|
2021
2065
|
}
|
|
2022
|
-
if (element
|
|
2023
|
-
element = element;
|
|
2066
|
+
if (isNodeList(element)) {
|
|
2024
2067
|
let resultArray = [];
|
|
2025
|
-
element.forEach((
|
|
2026
|
-
resultArray.push(DOMUtilsContext.parent(
|
|
2068
|
+
element.forEach(($ele) => {
|
|
2069
|
+
resultArray.push(DOMUtilsContext.parent($ele));
|
|
2027
2070
|
});
|
|
2028
2071
|
return resultArray;
|
|
2029
2072
|
}
|