【发布时间】:2018-07-20 03:15:42
【问题描述】:
我有这个函数可以在 contenteditable 的第一行内正确移动插入符,尽管它只查看 childNodes[0],因此它不会在第二行内移动插入符。
function setcaret(item, pos) {
var range = document.createRange();
var sel = window.getSelection();
range.setStart(item.childNodes[0], pos);
range.collapse(false);
sel.removeAllRanges();
sel.addRange(range);
item.focus();
}
setcaret(divid, 4); //move caret four places in current line
我需要修改它以获取当前节点,以便它适用于 contenteditable 内的多个 div,就像插入符号在第二个节点内一样
<div contenteditable="true"><div>first child</div><div>second |child</div>
有什么想法吗?
【问题讨论】:
-
您可以创建一个工作的 sn-p 或一个 JsFiddle 来使用吗?
-
我对jsfiddle不太了解,你可能需要点击设置光标位置jsfiddle.net/ydx5a0qz/5
标签: javascript contenteditable getselection