javascript - 在特定点创建范围
问题描述
我试图创建一个范围,该范围会导致文本中的特定点,但这对于 ChildNodes 来说非常困难,因为您无法准确到达文本中的一个点,而只能到达 ChildNode 的开头或结尾.
我有办法到达“te”和“st”之间的点(比如将光标放在“ |
test st”之间)或者是否可以创建一个独立于子节点的范围?
这是我的代码:
function myFunction(el) {
var textNode = el.childNodes[1];
var range = document.createRange();
range.selectNodeContents(el);
range.setStart(textNode, 0);
range.setEnd(textNode, 0);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
<!DOCTYPE html>
<html>
<body>
<div id="myText" contenteditable>test<br>test</div>
<button type="button" onclick='myFunction(document.getElementById("myText"))'>Go into Text</button>
</body>
</html>