我想创建一个新的WYSIWYG编辑器,我在其中使用了设计模式为ON的Iframe,我想做类似的事情 - 当用户选择文本并单击图像按钮时,图像应该在文本的背景中,图像应该是切换
答案 0 :(得分:1)
InsertHTML
命令在IE中不起作用。但是,IE的TextRange
对象有一个方便的pasteHTML()
方法,您可以使用它。
现场演示:http://jsfiddle.net/RmXgy/1/
代码:
function getSelectedText() {
var selectedText = "", sel;
if (window.getSelection) {
selectedText = "" + window.getSelection();
} else if ( (sel = document.selection) && sel.type == "Text") {
selectedText = sel.createRange().text;
}
return selectedText;
}
var sel, html = '<span style="background-image: url(foo.png)">'
+ getSelectedText() + "</span>";
if ( (sel = document.selection) && sel.type != "Control") {
sel.createRange().pasteHTML(html);
} else {
document.execCommand("InsertHTML", false, html);
}