IE createRange().如果未选择任何内容,则pasteHTML将粘贴到页面顶部

IE createRange().pasteHTML pastes to top of page if nothing is selected

本文关键字:pasteHTML 顶部 createRange 如果 任何内 选择 IE      更新时间:2023-09-26

我试图让IE粘贴到当前插入符号的位置在一个可满足的div。IE将粘贴好的,如果你有一些文本选择,但如果你没有选择它粘贴你的文本到页面的顶部。是否有一种方法可以将其粘贴到插入符号位置而不是页面顶部?

<div id='ce' contenteditable='true'>select me...</div>
document.getElementById("insert").onclick = function() {
    document.selection.createRange().pasteHTML("-PASTED HTML-");
};

fiddle(记住,仅限IE)

答案是。focus on text area。实际场景使用body元素而不是textarea, document.body.focus()适用于这种情况。

这里是这个问题的固定小提琴:jsfiddle.net/Sx2Lt/4 (IE ONLY)