@whitesev/domutils 1.3.1 → 1.3.3

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.umd.js CHANGED
@@ -834,8 +834,11 @@
834
834
  **/
835
835
  listenKeyboard(target, eventName = "keypress", callback, options) {
836
836
  let keyboardEventCallBack = function (event) {
837
+ /** 键名 */
837
838
  let keyName = event.key || event.code;
839
+ /** 键值 */
838
840
  let keyValue = event.charCode || event.keyCode || event.which;
841
+ /** 组合键列表 */
839
842
  let otherCodeList = [];
840
843
  if (event.ctrlKey) {
841
844
  otherCodeList.push("ctrl");
@@ -850,7 +853,7 @@
850
853
  otherCodeList.push("shift");
851
854
  }
852
855
  if (typeof callback === "function") {
853
- callback(keyName, keyValue.toString(), otherCodeList, event);
856
+ callback(keyName, keyValue, otherCodeList, event);
854
857
  }
855
858
  };
856
859
  this.on(target, eventName, keyboardEventCallBack, options);
@@ -867,7 +870,7 @@
867
870
  super(option);
868
871
  }
869
872
  /** 版本号 */
870
- version = "2024.8.30";
873
+ version = "2024.9.23";
871
874
  attr(element, attrName, attrValue) {
872
875
  let DOMUtilsContext = this;
873
876
  if (typeof element === "string") {
@@ -1285,7 +1288,13 @@
1285
1288
  element.insertAdjacentHTML("afterbegin", content);
1286
1289
  }
1287
1290
  else {
1288
- element.insertBefore(content, element.firstChild);
1291
+ let $firstChild = element.firstChild;
1292
+ if ($firstChild == null) {
1293
+ element.prepend(content);
1294
+ }
1295
+ else {
1296
+ element.insertBefore(content, element.firstChild);
1297
+ }
1289
1298
  }
1290
1299
  }
1291
1300
  /**
@@ -1309,7 +1318,15 @@
1309
1318
  element.insertAdjacentHTML("afterend", content);
1310
1319
  }
1311
1320
  else {
1312
- element.parentElement.insertBefore(content, element.nextSibling);
1321
+ let $parent = element.parentElement;
1322
+ let $nextSlibling = element.nextSibling;
1323
+ if (!$parent || $nextSlibling) {
1324
+ // 任意一个不行
1325
+ element.after(content);
1326
+ }
1327
+ else {
1328
+ element.parentElement.insertBefore(content, element.nextSibling);
1329
+ }
1313
1330
  }
1314
1331
  }
1315
1332
  /**
@@ -1333,7 +1350,13 @@
1333
1350
  element.insertAdjacentHTML("beforebegin", content);
1334
1351
  }
1335
1352
  else {
1336
- element.parentElement.insertBefore(content, element);
1353
+ let $parent = element.parentElement;
1354
+ if (!$parent) {
1355
+ element.before(content);
1356
+ }
1357
+ else {
1358
+ $parent.insertBefore(content, element);
1359
+ }
1337
1360
  }
1338
1361
  }
1339
1362
  /**