IE的WYSIWYG编辑器

时间:2012-01-05 08:43:05

标签: javascript javascript-events

我想创建一个新的WYSIWYG编辑器,我在其中使用了设计模式为ON的Iframe,我想做类似的事情 - 当用户选择文本并单击图像按钮时,图像应该在文本的背景中,图像应该是切换

1 个答案:

答案 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);
}