ph-utils 0.12.4 → 0.12.5
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/lib/dom.d.ts +2 -1
- package/lib/dom.js +11 -10
- package/package.json +1 -1
package/lib/dom.d.ts
CHANGED
@@ -92,9 +92,10 @@ export declare function off(el: HTMLElement | ShadowRoot | Document, listener: s
|
|
92
92
|
*
|
93
93
|
* @param e - 触发的事件对象
|
94
94
|
* @param eventFlag - 需要检查的属性名
|
95
|
+
* @param endRoot - 可选,如果传递该参数,则表示停止遍历的节点,如果未传递,则表示遍历到文档根节点为止
|
95
96
|
* @returns 包含三个元素的数组:[是否继续传递事件, 属性值, 当前检查的DOM节点]
|
96
97
|
*/
|
97
|
-
export declare function shouldEventNext(e: Event, eventFlag: string
|
98
|
+
export declare function shouldEventNext(e: Event, eventFlag: string, endRoot?: HTMLElement | ShadowRoot): [boolean, string, HTMLElement];
|
98
99
|
/**
|
99
100
|
* 设置或获取节点的 innerHTML 属性
|
100
101
|
* @param element
|
package/lib/dom.js
CHANGED
@@ -149,25 +149,26 @@ export function off(el, listener, fn, option) {
|
|
149
149
|
*
|
150
150
|
* @param e - 触发的事件对象
|
151
151
|
* @param eventFlag - 需要检查的属性名
|
152
|
+
* @param endRoot - 可选,如果传递该参数,则表示停止遍历的节点,如果未传递,则表示遍历到文档根节点为止
|
152
153
|
* @returns 包含三个元素的数组:[是否继续传递事件, 属性值, 当前检查的DOM节点]
|
153
154
|
*/
|
154
|
-
export function shouldEventNext(e, eventFlag) {
|
155
|
+
export function shouldEventNext(e, eventFlag, endRoot) {
|
155
156
|
let target = e.target;
|
156
157
|
let flag = "";
|
157
158
|
do {
|
158
|
-
|
159
|
+
if ((endRoot && endRoot.isSameNode(target)) || target.tagName === "BODY") {
|
160
|
+
break;
|
161
|
+
}
|
162
|
+
if (target.getAttribute) {
|
159
163
|
flag = target.getAttribute(eventFlag) || "";
|
160
|
-
if (flag === "") {
|
161
|
-
target = target.parentNode;
|
162
|
-
if (!target)
|
163
|
-
break;
|
164
|
-
}
|
165
164
|
}
|
166
|
-
|
167
|
-
|
165
|
+
if (flag === "") {
|
166
|
+
target = target.parentNode;
|
168
167
|
}
|
168
|
+
if (!target)
|
169
|
+
break;
|
169
170
|
} while (flag === "");
|
170
|
-
return [flag !== "__stop__", flag, target];
|
171
|
+
return [flag !== "__stop__" && flag !== "", flag, target];
|
171
172
|
}
|
172
173
|
/**
|
173
174
|
* 设置或获取节点的 innerHTML 属性
|