我有一个JavaScript代码段:
// IE < 9
r = document.selection.createRange();
r.collapse(true);
r.pasteHTML("<p> test html </p>");
这可行,但我想要的是,粘贴HTML后,它必然会丢失选择。
换句话说,发生的是pasteHtml
方法执行后,在页面上选择了文本“test html”。我不想要这个。我想要取消选择文本,但光标应位于“test html”文本的末尾。
我是这样做的:
<div contenteditable="true"> </div>
我该怎么做?
答案 0 :(得分:1)
简单:折叠选定的TextRange
并重新选择:
var r = document.selection.createRange();
r.collapse(true);
r.pasteHTML("<p> test html </p>");
var selectedRange = document.selection.createRange();
selectedRange.collapse(false);
selectedRange.select();