@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.
Files changed (2) hide show
  1. package/index.js +26 -6
  2. 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.getAttribute(name);
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
- while (element && element !== event.currentTarget) {
1144
- if (element.getAttribute(name) == value) {
1145
- return element;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joyzl/eno",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
4
4
  "description": "Easy Node Object",
5
5
  "main": "dist/joyzl-eno.js",
6
6
  "module": "index.js",