2012-01-05 60 views
0

我想製作一個新的所見即所得編輯器,其中我使用了一個設計模式爲ON的Iframe,我想要做些類似於 - 當用戶選擇一個文本並單擊一個圖像按鈕時圖像應該位於後臺的文字和圖像應該切換用於IE的所見即所得編輯器

+1

_...它不工作..._:你有什麼,你試過嗎?如果我們有一點編碼上下文,我們可以幫助您。 – 2012-01-05 09:02:04

回答

1

InsertHTML命令在IE中不起作用。但是,IE的TextRange對象有一個方便的​​方法,您可以使用它。

現場演示:http://jsfiddle.net/RmXgy/1/

代碼:在IE

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