繁体   English   中英

给定contentEditable Div如何将光标设置到特定位置?

[英]Given a contentEditable Div how to set the cursor to a specific position?

给出一个contentEditable div,如下所示:

<div contenteditable="true">Here is some text, hello world.</div>

如何在s in后面的位置6处将光标设置在位置6?

我一直在尝试使用:

savedRange = window.getSelection().getRangeAt(0);

然后像这样修改值:

savedRange.startOffset = 6
savedRange.endOffset = 6

但那不是更新savedRange。

我有什么想法可以在div中获得光标/插入符号? 谢谢

这是位置7.无论如何,这是如何,假设你给你的可编辑<div> id为“myDiv”。 请注意,这在IE <9中不起作用,IE <9具有完全不同的范围和选择API。

if (window.getSelection) {
    var sel = window.getSelection();
    var textNode = document.getElementById("myDiv").firstChild;
    var range = document.createRange();
    range.setStart(textNode, 7);
    range.collapse(true);
    sel.removeAllRanges();
    sel.addRange(range);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM