这可能是因为数字和英文的文本内容被解释为右对齐,因此光标在最前面。您可以尝试通过设置CSS样式来解决该问题:

td[contenteditable="true"] {
  text-align: left; /* 或者使用 "center" 或 "right" 根据您的需求 */
}

如果这不起作用,您可能需要使用JavaScript来设置光标位置。您可以使用以下代码:

function moveCursorToEnd(el) {
  el.focus();
  if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") {
    var range = document.createRange();
    range.selectNodeContents(el);
    range.collapse(false);
    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);
  } else if (typeof document.body.createTextRange != "undefined") {
    var textRange = document.body.createTextRange();
    textRange.moveToElementText(el);
    textRange.collapse(false);
    textRange.select();
  }
}

// 在编辑内容时调用该函数
function editGoods(gid, field, value) {
  // ...
  var td = event.target;
  moveCursorToEnd(td);
  // ...
}

这个 moveCursorToEnd 函数将光标移动到元素的末尾,然后您可以在编辑函数中调用它,以确保光标在正确的位置。

td contenteditable=true input=editGoodsitemgid money $eventtargetinnerText itemmoney td编辑的时候光标一直跳在数字或英文的最前面啥情况中文不跳数字英文跳如何解决

原文地址: https://www.cveoy.top/t/topic/bdVm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录