2012-01-05 12 views
0

デザインモードONのIframeを使用した新しいWYSIWYGエディタを作成したいと思います。ユーザーがテキストを選択してイメージボタンをクリックするとイメージがバックグラウンドになるはずですテキストの画像を切り替える必要がありますIE用WYSIWYGエディタ

+1

_... IEでそれが..._動作していない:あなたがして試してみました何?私たちが少しのコーディング・コンテキストを持っているなら、あなたを助けることができます。 –

答えて

1

InsertHTMLコマンドはIEでは機能しません。しかし、IEのTextRangeオブジェクトには、代わりに使用できる便利な​​メソッドがあります。

ライブデモ: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); 
} 
関連する問題