IE JS:如何在selection.type =='None'时使用pasteHTML()?

时间:2009-12-23 10:56:48

标签: javascript internet-explorer contenteditable

我正在尝试允许用户编辑一个可信的div,但我发现除非选择了一些文本,否则我不能使用pasteHTML。

我认为document.selection.createRange()会返回一个有效的零长度选择(即一个位置),但是没有。

我真的很难找到任何不涉及iframe的解决方案(目前不是一个选项)。

欢迎任何建议/想法/问题。

2 个答案:

答案 0 :(得分:3)

在从选择中创建TextRange之前,请确保焦点位于可编辑的div上:

var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");

答案 1 :(得分:0)

您可以使用表单textarea。这是简单的跨浏览器,但不知道您的样式在多大程度上受到限制,或者使用表单或表单元素是否适合您的问题。