首页 > web前端 > js教程 > 如何将光标移动到 ContentEditable 元素的末尾?

如何将光标移动到 ContentEditable 元素的末尾?

Patricia Arquette
发布: 2024-11-11 01:50:02
原创
961 人浏览过

How to Move the Cursor to the End of a ContentEditable Element?

将光标移动到 Contenteditable 实体的末尾

曾经遇到过需要将光标定位到 contenteditable 元素的末尾的情况,类似于Gmail 笔记小部件中的功能?

解决方案

对于contenteditable元素,Geowa4的解决方案不适用。需要量身定制的方法:

function setEndOfContenteditable(contentEditableElement) {
  var range, selection;
  if (document.createRange) {
    // Modern browsers
    range = document.createRange();
    range.selectNodeContents(contentEditableElement);
    range.collapse(false);
    selection = window.getSelection();
    selection.removeAllRanges();
    selection.addRange(range);
  } else if (document.selection) {
    // IE 8 and below
    range = document.body.createTextRange();
    range.moveToElementText(contentEditableElement);
    range.collapse(false);
    range.select();
  }
}
登录后复制

要使用它,只需按照代码示例操作:

var elem = document.getElementById("txt1");
setEndOfContenteditable(elem);
登录后复制

兼容性

此解决方案是兼容所有支持 contenteditable 的主流浏览器。

以上是如何将光标移动到 ContentEditable 元素的末尾?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板