@whitesev/domutils 1.9.6 → 1.9.9
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 +46 -80
- package/dist/index.amd.js.map +1 -1
- package/dist/index.amd.min.js +1 -1
- package/dist/index.amd.min.js.map +1 -1
- package/dist/index.cjs.js +46 -80
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +46 -80
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.iife.js +46 -80
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.system.js +46 -80
- package/dist/index.system.js.map +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/dist/index.umd.js +46 -80
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/types/src/ElementEvent.d.ts +14 -27
- package/dist/types/src/types/DOMUtilsEvent.d.ts +6 -1
- package/package.json +6 -6
- package/src/ElementEvent.ts +62 -88
- package/src/Utils.ts +0 -1
- package/src/types/DOMUtilsEvent.d.ts +6 -1
package/dist/index.umd.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMUtils = factory());
|
|
5
5
|
})(this, (function () { 'use strict';
|
|
6
6
|
|
|
7
|
-
const version = "1.9.
|
|
7
|
+
const version = "1.9.9";
|
|
8
8
|
|
|
9
9
|
class WindowApi {
|
|
10
10
|
/** 默认的配置 */
|
|
@@ -541,7 +541,6 @@
|
|
|
541
541
|
"is",
|
|
542
542
|
"jquery",
|
|
543
543
|
"keydown",
|
|
544
|
-
"keypress",
|
|
545
544
|
"keyup",
|
|
546
545
|
"last",
|
|
547
546
|
"load",
|
|
@@ -594,10 +593,7 @@
|
|
|
594
593
|
"slideDown",
|
|
595
594
|
"slideToggle",
|
|
596
595
|
"slideUp",
|
|
597
|
-
"sort",
|
|
598
|
-
"splice",
|
|
599
596
|
"text",
|
|
600
|
-
"toArray",
|
|
601
597
|
"toggle",
|
|
602
598
|
"toggleClass",
|
|
603
599
|
"trigger",
|
|
@@ -1631,16 +1627,6 @@
|
|
|
1631
1627
|
// 这是存在selector的情况
|
|
1632
1628
|
listenerOption = getOption(args, 4, listenerOption);
|
|
1633
1629
|
}
|
|
1634
|
-
// 是否移除所有事件
|
|
1635
|
-
let isRemoveAll = false;
|
|
1636
|
-
if (args.length === 2) {
|
|
1637
|
-
// 目标函数、事件名
|
|
1638
|
-
isRemoveAll = true;
|
|
1639
|
-
}
|
|
1640
|
-
else if ((args.length === 3 && typeof args[2] === "string") || Array.isArray(args[2])) {
|
|
1641
|
-
// 目标函数、事件名、子元素选择器
|
|
1642
|
-
isRemoveAll = true;
|
|
1643
|
-
}
|
|
1644
1630
|
if (args.length === 5 && typeof args[4] === "function" && typeof filter !== "function") {
|
|
1645
1631
|
// 目标函数、事件名、回调函数、事件配置、过滤函数
|
|
1646
1632
|
filter = option;
|
|
@@ -1670,7 +1656,7 @@
|
|
|
1670
1656
|
// 事件的配置项不同
|
|
1671
1657
|
flag = false;
|
|
1672
1658
|
}
|
|
1673
|
-
if (flag
|
|
1659
|
+
if (flag) {
|
|
1674
1660
|
$elItem.removeEventListener(eventName, handler.handlerCallBack, handler.option);
|
|
1675
1661
|
const findIndex = handlers.findIndex((item) => item === handler);
|
|
1676
1662
|
if (findIndex !== -1) {
|
|
@@ -1863,35 +1849,43 @@
|
|
|
1863
1849
|
else {
|
|
1864
1850
|
$elList.push(element);
|
|
1865
1851
|
}
|
|
1852
|
+
/**
|
|
1853
|
+
* 主动添加属性
|
|
1854
|
+
*/
|
|
1855
|
+
const addExtraProp = (event, obj) => {
|
|
1856
|
+
if (event instanceof Event && typeof obj === "object" && obj != null && !Array.isArray(obj)) {
|
|
1857
|
+
const detailKeys = Object.keys(obj);
|
|
1858
|
+
detailKeys.forEach((keyName) => {
|
|
1859
|
+
const value = Reflect.get(obj, keyName);
|
|
1860
|
+
// 在event上添加属性
|
|
1861
|
+
Reflect.set(event, keyName, value);
|
|
1862
|
+
});
|
|
1863
|
+
}
|
|
1864
|
+
};
|
|
1866
1865
|
let eventTypeList = [];
|
|
1866
|
+
/**
|
|
1867
|
+
* 主动传递的事件
|
|
1868
|
+
*/
|
|
1869
|
+
let __event__ = null;
|
|
1867
1870
|
if (Array.isArray(eventType)) {
|
|
1868
1871
|
eventTypeList = eventType.filter((it) => typeof it === "string" && it.trim() !== "");
|
|
1869
1872
|
}
|
|
1870
1873
|
else if (typeof eventType === "string") {
|
|
1871
1874
|
eventTypeList = eventType.split(" ");
|
|
1872
1875
|
}
|
|
1876
|
+
else if (eventType instanceof Event) {
|
|
1877
|
+
__event__ = eventType;
|
|
1878
|
+
addExtraProp(__event__, extraDetails);
|
|
1879
|
+
}
|
|
1873
1880
|
$elList.forEach(($elItem) => {
|
|
1874
1881
|
/* 获取对象上的事件 */
|
|
1875
1882
|
const elementEvents = Reflect.get($elItem, GlobalData.domEventSymbol) || {};
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
}
|
|
1881
|
-
else {
|
|
1882
|
-
// 构造事件
|
|
1883
|
-
event = new Event(eventTypeItem);
|
|
1884
|
-
if (typeof extraDetails === "object" && extraDetails != null) {
|
|
1885
|
-
const detailKeys = Object.keys(extraDetails);
|
|
1886
|
-
detailKeys.forEach((keyName) => {
|
|
1887
|
-
const value = Reflect.get(extraDetails, keyName);
|
|
1888
|
-
// 在event上添加属性
|
|
1889
|
-
Reflect.set(event, keyName, value);
|
|
1890
|
-
});
|
|
1891
|
-
}
|
|
1892
|
-
}
|
|
1883
|
+
/**
|
|
1884
|
+
* 触发事件
|
|
1885
|
+
*/
|
|
1886
|
+
const dispatchEvent = (event, eventTypeItem) => {
|
|
1893
1887
|
if (useDispatchToTriggerEvent == false && eventTypeItem in elementEvents) {
|
|
1894
|
-
//
|
|
1888
|
+
// 直接调用.on监听的事件
|
|
1895
1889
|
elementEvents[eventTypeItem].forEach((eventsItem) => {
|
|
1896
1890
|
eventsItem.handlerCallBack(event);
|
|
1897
1891
|
});
|
|
@@ -1899,7 +1893,21 @@
|
|
|
1899
1893
|
else {
|
|
1900
1894
|
$elItem.dispatchEvent(event);
|
|
1901
1895
|
}
|
|
1902
|
-
}
|
|
1896
|
+
};
|
|
1897
|
+
if (__event__) {
|
|
1898
|
+
// 使用主动传递的事件直接触发
|
|
1899
|
+
const event = __event__;
|
|
1900
|
+
const eventTypeItem = event.type;
|
|
1901
|
+
dispatchEvent(event, eventTypeItem);
|
|
1902
|
+
}
|
|
1903
|
+
else {
|
|
1904
|
+
eventTypeList.forEach((eventTypeItem) => {
|
|
1905
|
+
// 构造事件
|
|
1906
|
+
const event = new Event(eventTypeItem);
|
|
1907
|
+
addExtraProp(event, extraDetails);
|
|
1908
|
+
dispatchEvent(event, eventTypeItem);
|
|
1909
|
+
});
|
|
1910
|
+
}
|
|
1903
1911
|
});
|
|
1904
1912
|
}
|
|
1905
1913
|
/**
|
|
@@ -2204,49 +2212,6 @@
|
|
|
2204
2212
|
}
|
|
2205
2213
|
return that.on(element, "keydown", null, handler, option);
|
|
2206
2214
|
}
|
|
2207
|
-
/**
|
|
2208
|
-
* 当按键按下时触发事件
|
|
2209
|
-
* keydown - > keypress - > keyup
|
|
2210
|
-
* @param element 目标
|
|
2211
|
-
* @param handler 事件处理函数
|
|
2212
|
-
* @param option 配置
|
|
2213
|
-
* @example
|
|
2214
|
-
* // 监听a.xx元素的按键按下
|
|
2215
|
-
* DOMUtils.keypress(document.querySelector("a.xx"),()=>{
|
|
2216
|
-
* console.log("按键按下");
|
|
2217
|
-
* })
|
|
2218
|
-
* DOMUtils.keypress("a.xx",()=>{
|
|
2219
|
-
* console.log("按键按下");
|
|
2220
|
-
* })
|
|
2221
|
-
*/
|
|
2222
|
-
onKeypress(element, handler, option) {
|
|
2223
|
-
const that = this;
|
|
2224
|
-
if (element == null) {
|
|
2225
|
-
return;
|
|
2226
|
-
}
|
|
2227
|
-
if (typeof element === "string") {
|
|
2228
|
-
element = that.selectorAll(element);
|
|
2229
|
-
}
|
|
2230
|
-
if (CommonUtils.isNodeList(element)) {
|
|
2231
|
-
// 设置
|
|
2232
|
-
const listenerList = [];
|
|
2233
|
-
element.forEach(($ele) => {
|
|
2234
|
-
const listener = that.onKeypress($ele, handler, option);
|
|
2235
|
-
listenerList.push(listener);
|
|
2236
|
-
});
|
|
2237
|
-
return {
|
|
2238
|
-
off() {
|
|
2239
|
-
listenerList.forEach((listener) => {
|
|
2240
|
-
if (!listener) {
|
|
2241
|
-
return;
|
|
2242
|
-
}
|
|
2243
|
-
listener.off();
|
|
2244
|
-
});
|
|
2245
|
-
},
|
|
2246
|
-
};
|
|
2247
|
-
}
|
|
2248
|
-
return that.on(element, "keypress", null, handler, option);
|
|
2249
|
-
}
|
|
2250
2215
|
/**
|
|
2251
2216
|
* 监听某个元素键盘按键事件或window全局按键事件
|
|
2252
2217
|
* 按下有值的键时触发,按下Ctrl\Alt\Shift\Meta是无值键。按下先触发keydown事件,再触发keypress事件。
|
|
@@ -2310,7 +2275,7 @@
|
|
|
2310
2275
|
搜索 170
|
|
2311
2276
|
收藏 171
|
|
2312
2277
|
**/
|
|
2313
|
-
onKeyboard(element, eventName = "
|
|
2278
|
+
onKeyboard(element, eventName = "keydown", handler, options) {
|
|
2314
2279
|
const that = this;
|
|
2315
2280
|
if (typeof element === "string") {
|
|
2316
2281
|
element = that.selectorAll(element);
|
|
@@ -2488,7 +2453,8 @@
|
|
|
2488
2453
|
eventNameList = [eventNameList];
|
|
2489
2454
|
}
|
|
2490
2455
|
let option = void 0;
|
|
2491
|
-
if (
|
|
2456
|
+
if (args.length === 2) ;
|
|
2457
|
+
else if (typeof args[2] === "string" || Array.isArray(args[2])) {
|
|
2492
2458
|
// selector
|
|
2493
2459
|
selector = args[2];
|
|
2494
2460
|
if (typeof args[3] === "object" && args[3] != null) {
|