This question already has answers here:
How to set caret(cursor) position in contenteditable element (div)?
(11个答案)
4年前关闭。
我想在一个内容可编辑元素中设置插入符号的位置,但它似乎不起作用。
您将错误的节点传递给setStart函数。
需要传递一个文本节点。
(11个答案)
4年前关闭。
我想在一个内容可编辑元素中设置插入符号的位置,但它似乎不起作用。
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();
<div contenteditable>Hi ! How are you doing ?</div>
最佳答案
尝试这个:
只需将range.setStart(el,2)替换为range.setStart(el.childNodes [0],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();
<div contenteditable>Hi ! How are you doing ?</div>
您将错误的节点传递给setStart函数。
需要传递一个文本节点。
关于javascript - 在内容可编辑元素中设置插入符的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40632975/
10-09 23:50