@whitesev/utils 2.1.5 → 2.2.1
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 +14 -34
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +14 -34
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +14 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +14 -34
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +14 -34
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +14 -34
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/Utils.d.ts +1 -67
- package/package.json +1 -1
- package/src/Utils.ts +2 -129
package/dist/index.system.js
CHANGED
|
@@ -3554,7 +3554,7 @@ System.register('Utils', [], (function (exports) {
|
|
|
3554
3554
|
this.windowApi = new WindowApi(option);
|
|
3555
3555
|
}
|
|
3556
3556
|
/** 版本号 */
|
|
3557
|
-
version = "2024.
|
|
3557
|
+
version = "2024.9.1";
|
|
3558
3558
|
addStyle(cssText) {
|
|
3559
3559
|
if (typeof cssText !== "string") {
|
|
3560
3560
|
throw new Error("Utils.addStyle 参数cssText 必须为String类型");
|
|
@@ -4938,6 +4938,19 @@ System.register('Utils', [], (function (exports) {
|
|
|
4938
4938
|
return this.windowApi.globalThis.matchMedia("(prefers-color-scheme: dark)")
|
|
4939
4939
|
.matches;
|
|
4940
4940
|
}
|
|
4941
|
+
/**
|
|
4942
|
+
* 判断元素是否在页面中可见
|
|
4943
|
+
* @param element 需要检查的元素,可以是普通元素|数组形式的元素|通过querySelectorAll获取的元素数组
|
|
4944
|
+
* @param inView
|
|
4945
|
+
* + true 在窗口可视区域
|
|
4946
|
+
* + false 不在窗口可视区域
|
|
4947
|
+
* @returns
|
|
4948
|
+
* + true 可见
|
|
4949
|
+
* + false 不可见
|
|
4950
|
+
* @example
|
|
4951
|
+
* Utils.isVisible(document.documentElement)
|
|
4952
|
+
* > true
|
|
4953
|
+
*/
|
|
4941
4954
|
isVisible(element, inView = false) {
|
|
4942
4955
|
let needCheckDomList = [];
|
|
4943
4956
|
if (element instanceof Array || element instanceof NodeList) {
|
|
@@ -5032,39 +5045,6 @@ System.register('Utils', [], (function (exports) {
|
|
|
5032
5045
|
});
|
|
5033
5046
|
return result;
|
|
5034
5047
|
}
|
|
5035
|
-
listenKeyboard(target, eventName = "keypress", callback, options) {
|
|
5036
|
-
if (typeof target !== "object" ||
|
|
5037
|
-
(typeof target["addEventListener"] !== "function" &&
|
|
5038
|
-
typeof target["removeEventListener"] !== "function")) {
|
|
5039
|
-
throw new Error("Utils.listenKeyboard 参数 target 必须为 Window|HTMLElement 类型");
|
|
5040
|
-
}
|
|
5041
|
-
let keyEvent = function (event) {
|
|
5042
|
-
let keyName = event.key || event.code;
|
|
5043
|
-
let keyValue = event.charCode || event.keyCode || event.which;
|
|
5044
|
-
let otherCodeList = [];
|
|
5045
|
-
if (event.ctrlKey) {
|
|
5046
|
-
otherCodeList.push("ctrl");
|
|
5047
|
-
}
|
|
5048
|
-
if (event.altKey) {
|
|
5049
|
-
otherCodeList.push("alt");
|
|
5050
|
-
}
|
|
5051
|
-
if (event.metaKey) {
|
|
5052
|
-
otherCodeList.push("meta");
|
|
5053
|
-
}
|
|
5054
|
-
if (event.shiftKey) {
|
|
5055
|
-
otherCodeList.push("shift");
|
|
5056
|
-
}
|
|
5057
|
-
if (typeof callback === "function") {
|
|
5058
|
-
callback(keyName, keyValue.toString(), otherCodeList, event);
|
|
5059
|
-
}
|
|
5060
|
-
};
|
|
5061
|
-
target.addEventListener(eventName, keyEvent, options);
|
|
5062
|
-
return {
|
|
5063
|
-
removeListen() {
|
|
5064
|
-
target.removeEventListener(eventName, keyEvent);
|
|
5065
|
-
},
|
|
5066
|
-
};
|
|
5067
|
-
}
|
|
5068
5048
|
/**
|
|
5069
5049
|
* 自动锁对象,用于循环判断运行的函数,在循环外new后使用,注意,如果函数内部存在异步操作,需要使用await
|
|
5070
5050
|
* @example
|