@joyzl/eno 1.2.7 → 1.2.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/index.js +26 -6
- package/package.json +1 -1
package/index.js
CHANGED
@@ -852,7 +852,13 @@ function getEntity(element, entity, converter) {
|
|
852
852
|
} else {
|
853
853
|
setValue(entity, name, element.innerText);
|
854
854
|
}
|
855
|
+
} else {
|
856
|
+
if (element.disabled) {
|
857
|
+
// 阻止禁用标签元素的子元素处理
|
858
|
+
return;
|
859
|
+
}
|
855
860
|
}
|
861
|
+
|
856
862
|
if (element.childElementCount) {
|
857
863
|
for (let i = 0; i < element.children.length; i++) {
|
858
864
|
getEntity(element.children[i], entity, converter);
|
@@ -886,9 +892,13 @@ function setEntity(element, entity, converter) {
|
|
886
892
|
// 默认处理
|
887
893
|
if (element.type) {
|
888
894
|
// 所有控件具有type属性
|
895
|
+
// 设置时不考虑disabled状态
|
889
896
|
if (element.type === "checkbox" || element.type === "radio") {
|
890
897
|
// Radio / Check
|
891
898
|
element.checked = element.value == value;
|
899
|
+
} else
|
900
|
+
if (element.type === "fieldset") {
|
901
|
+
//忽略
|
892
902
|
} else {
|
893
903
|
// OTHER
|
894
904
|
element.value = value;
|
@@ -1119,8 +1129,9 @@ function element(e) {
|
|
1119
1129
|
* @param {String} name
|
1120
1130
|
* @param {String} value
|
1121
1131
|
* @example target(event); 返回事件源标签元素
|
1122
|
-
* @example target(event, name);
|
1132
|
+
* @example target(event, name); 返回事件目标指定属性的标签元素
|
1123
1133
|
* @example target(event, name, value); 返回事件目标指定属性和值的标签元素
|
1134
|
+
* @example target(event, name, null); 返回事件目标指定属性标签元素的属性值
|
1124
1135
|
*/
|
1125
1136
|
function target(event, name, value) {
|
1126
1137
|
if (arguments.length == 1) {
|
@@ -1132,7 +1143,7 @@ function target(event, name, value) {
|
|
1132
1143
|
let element = event.target || event.srcElement;
|
1133
1144
|
while (element && element !== event.currentTarget) {
|
1134
1145
|
if (element.hasAttribute(name)) {
|
1135
|
-
return element
|
1146
|
+
return element;
|
1136
1147
|
}
|
1137
1148
|
element = element.parentElement;
|
1138
1149
|
}
|
@@ -1140,11 +1151,20 @@ function target(event, name, value) {
|
|
1140
1151
|
if (arguments.length == 3) {
|
1141
1152
|
// target(event, name, value);
|
1142
1153
|
let element = event.target || event.srcElement;
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1154
|
+
if (value) {
|
1155
|
+
while (element && element !== event.currentTarget) {
|
1156
|
+
if (element.getAttribute(name) == value) {
|
1157
|
+
return element;
|
1158
|
+
}
|
1159
|
+
element = element.parentElement;
|
1160
|
+
}
|
1161
|
+
} else {
|
1162
|
+
while (element && element !== event.currentTarget) {
|
1163
|
+
if (element.getAttribute(name) == value) {
|
1164
|
+
return element.getAttribute(name);
|
1165
|
+
}
|
1166
|
+
element = element.parentElement;
|
1146
1167
|
}
|
1147
|
-
element = element.parentElement;
|
1148
1168
|
}
|
1149
1169
|
}
|
1150
1170
|
return null;
|