@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.esm.js CHANGED
@@ -828,8 +828,11 @@ class DOMUtilsEvent {
828
828
  **/
829
829
  listenKeyboard(target, eventName = "keypress", callback, options) {
830
830
  let keyboardEventCallBack = function (event) {
831
+ /** 键名 */
831
832
  let keyName = event.key || event.code;
833
+ /** 键值 */
832
834
  let keyValue = event.charCode || event.keyCode || event.which;
835
+ /** 组合键列表 */
833
836
  let otherCodeList = [];
834
837
  if (event.ctrlKey) {
835
838
  otherCodeList.push("ctrl");
@@ -844,7 +847,7 @@ class DOMUtilsEvent {
844
847
  otherCodeList.push("shift");
845
848
  }
846
849
  if (typeof callback === "function") {
847
- callback(keyName, keyValue.toString(), otherCodeList, event);
850
+ callback(keyName, keyValue, otherCodeList, event);
848
851
  }
849
852
  };
850
853
  this.on(target, eventName, keyboardEventCallBack, options);
@@ -861,7 +864,7 @@ class DOMUtils extends DOMUtilsEvent {
861
864
  super(option);
862
865
  }
863
866
  /** 版本号 */
864
- version = "2024.8.30";
867
+ version = "2024.9.23";
865
868
  attr(element, attrName, attrValue) {
866
869
  let DOMUtilsContext = this;
867
870
  if (typeof element === "string") {
@@ -1279,7 +1282,13 @@ class DOMUtils extends DOMUtilsEvent {
1279
1282
  element.insertAdjacentHTML("afterbegin", content);
1280
1283
  }
1281
1284
  else {
1282
- element.insertBefore(content, element.firstChild);
1285
+ let $firstChild = element.firstChild;
1286
+ if ($firstChild == null) {
1287
+ element.prepend(content);
1288
+ }
1289
+ else {
1290
+ element.insertBefore(content, element.firstChild);
1291
+ }
1283
1292
  }
1284
1293
  }
1285
1294
  /**
@@ -1303,7 +1312,15 @@ class DOMUtils extends DOMUtilsEvent {
1303
1312
  element.insertAdjacentHTML("afterend", content);
1304
1313
  }
1305
1314
  else {
1306
- element.parentElement.insertBefore(content, element.nextSibling);
1315
+ let $parent = element.parentElement;
1316
+ let $nextSlibling = element.nextSibling;
1317
+ if (!$parent || $nextSlibling) {
1318
+ // 任意一个不行
1319
+ element.after(content);
1320
+ }
1321
+ else {
1322
+ element.parentElement.insertBefore(content, element.nextSibling);
1323
+ }
1307
1324
  }
1308
1325
  }
1309
1326
  /**
@@ -1327,7 +1344,13 @@ class DOMUtils extends DOMUtilsEvent {
1327
1344
  element.insertAdjacentHTML("beforebegin", content);
1328
1345
  }
1329
1346
  else {
1330
- element.parentElement.insertBefore(content, element);
1347
+ let $parent = element.parentElement;
1348
+ if (!$parent) {
1349
+ element.before(content);
1350
+ }
1351
+ else {
1352
+ $parent.insertBefore(content, element);
1353
+ }
1331
1354
  }
1332
1355
  }
1333
1356
  /**