我正在使用contenteditable
div创建一个简单的RichText-Editor。我的要求之一是能够在按钮事件上的光标位置插入html块。
根据浏览器,我可以使用range
,selection
,range.insertNode(nodeHTML)
或range.pasteHTML(nodeHTML)
来使该部分正常工作。但我无法得到两件事,理想情况下我想要
我知道我可以使用许多可用的编辑器,这样做非常好,但如果我得到这个,我就不用了。欢迎任何帮助甚至建议。
感谢。
答案 0 :(得分:10)
2013年8月重写的答案
不幸的是,尽管事情正在改善。除document.execCommand()
触发的程序性DOM突变不会进入浏览器的内置撤消堆栈。然而,最近有两个发展:
ms-beginUndoUnit
和ms-endUndoUnit
命令在情况改善之前,您可以使用document.execCommand("InsertHTML", false, "<b>Some html</b>");
,但IE不支持此功能。