我正在尝试允许用户编辑一个可信的div,但我发现除非选择了一些文本,否则我不能使用pasteHTML。
我认为document.selection.createRange()会返回一个有效的零长度选择(即一个位置),但是没有。
我真的很难找到任何不涉及iframe的解决方案(目前不是一个选项)。
欢迎任何建议/想法/问题。
答案 0 :(得分:3)
在从选择中创建TextRange
之前,请确保焦点位于可编辑的div上:
var div = document.getElementById("your_div");
div.focus();
document.selection.createRange().pasteHTML("<b>PASTED</b>");
答案 1 :(得分:0)
您可以使用表单textarea。这是简单的跨浏览器,但不知道您的样式在多大程度上受到限制,或者使用表单或表单元素是否适合您的问题。