设置焦点非常简单:node.focus()
。我在寻找其他答案方面取得的成功有限。我可以将光标设置在开头或结尾,或者我可以使用chrome中的代码选择整个内容:
// if start==0 means the beginning, start===1 means the end
function setSelection(node, start, length) {
var range = document.createRange();
range.setStart(node, start);
range.setEnd(node, length);
//range.collapse(true);
var selection = getSelection()
selection.removeAllRanges();
selection.addRange(range);
}
所以问题是:如何更精细地设置光标,比如字符2.另外,如何设置选择,例如从字符2到字符5?
MDN tells me Range.setStart
对Text,Comment或CDATASection节点的行为与其他节点不同。如果我可以让setStart将div
视为Text节点,我认为我的问题可能会得到解决。
有人有什么想法吗?