在内容可编辑元素中设置插入符位置

ton*_*227 3 javascript

我想在内容可编辑元素中设置插入位置,但它似乎不起作用.

var el = document.getElementsByTagName('div')[0];
var range = document.createRange();
var sel = window.getSelection();
range.setStart(el, 2);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
el.focus();
Run Code Online (Sandbox Code Playgroud)
<div contenteditable>Hi ! How are you doing ?</div>
Run Code Online (Sandbox Code Playgroud)

小智 10

试试这个:
只需用range.setStart(el.childNodes [0],2)替换range.setStart(el,2)

var el = document.getElementsByTagName('div')[0];
var range = document.createRange();
var sel = window.getSelection();
range.setStart(el.childNodes[0], 2);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
el.focus();
Run Code Online (Sandbox Code Playgroud)
<div contenteditable>Hi ! How are you doing ?</div>
Run Code Online (Sandbox Code Playgroud)

您正在将错误的节点传递给setStart函数.需要传递文本节点.