我有一个我刚刚插入DOM的常规文本节点。
我想选择它(就像用户用鼠标选择它一样),使用Javascript或Rangy。
我有以下(我觉得很难看)代码:
// insert as regular text node
var txt = document.createTextNode($mySpan.text());
$myHeading.get(0).insertBefore(txt, $mySpan.get(0));
// select again
var sel = rangy.getSelection();
sel.removeAllRanges()
var range = rangy.createRange();
range.selectNode(txt);
我很乐意为此提供帮助。我不知道如何实现它,并且goggling不起作用。我能想到的唯一方法是在文本之间插入2个元素,然后选择它,然后删除元素,但我想知道是否有更优雅的方式。
谢谢,任何帮助表示赞赏。
答案 0 :(得分:5)
除非我的眼睛欺骗了我,否则你的代码中唯一缺少的就是这一行:
sel.setSingleRange(range);
只需将其添加到您目前所拥有的结尾即可。 (您也可以删除sel.removeAllRanges()
。)