在内容可编辑的div中插入html我有一个div,它有一个内容可编辑的集合,当按下Enter键时,我使用jQuery来捕获keypress,以调用预防性Default()。类似于这个问题它在光标处插入文本,我想直接插入html,为了简洁起见,我们会说它是br标记。使用上述问题的答案实际上在IE中有效,因为它使用range.pasteHTML方法,但在其他浏览器中,br标记将显示为纯文本而不是html。如何修改答案以插入html而不是文本?
3 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
var doc = document.getElementById("your_iframe").contentWindow.document;// IE <= 10if (document.selection){ var range = doc.selection.createRange(); range.pasteHTML("<b>Some bold text</b>");// IE 11 && Firefox, Opera .....}else if(document.getSelection){ var range = doc.getSelection().getRangeAt(0); var nnode = doc.createElement("b"); range.surroundContents(nnode); nnode.innerHTML = "Some bold text";};
HUX布斯
TA贡献1876条经验 获得超6个赞
var r = getSelection().getRangeAt(0);r.insertNode(r.createContextualFragment('<b>Hello</b>'));//select this rangegetSelection().removeAllRanges();getSelection().addRange(r);//collapse to end/start getSelection().collapseToEnd()
添加回答
举报
0/150
提交
取消