首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将光标移动到可内容编辑实体的末尾

如何将光标移动到可内容编辑实体的末尾
EN

Stack Overflow用户
提问于 2009-07-14 13:13:26
回答 8查看 67.6K关注 0票数 104

我需要将插入符号移动到contenteditable节点的末尾,就像在Gmail notes小部件上一样。

我在StackOverflow上读到了线程,但这些解决方案都是基于使用输入的,它们不能与contenteditable元素一起工作。

EN

Stack Overflow用户

发布于 2020-09-25 19:40:51

最初开始键入时,contenteditable <div><span>的问题就会得到解决。一种解决方法是在div元素和函数上触发一个焦点事件,清除并重新填充div元素中已经存在的内容。这样问题就解决了,最后您可以使用range和selection将光标放在末尾。对我很管用。

代码语言:javascript
运行
复制
  moveCursorToEnd(e : any) {
    let placeholderText = e.target.innerText;
    e.target.innerText = '';
    e.target.innerText = placeholderText;

    if(e.target.innerText && document.createRange)
    {
      let range = document.createRange();
      let selection = window.getSelection();
      range.selectNodeContents(e.target);
      range.setStart(e.target.firstChild,e.target.innerText.length);
      range.setEnd(e.target.firstChild,e.target.innerText.length);
      selection.removeAllRanges();
      selection.addRange(range);
    }
  }

在HTML代码中:

代码语言:javascript
运行
复制
<div contentEditable="true" (focus)="moveCursorToEnd($event)"></div>
票数 0
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1125292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档