2011-07-02 13 views
5

私は文書上でexecCommandを呼び出して、選択したテキストを太字にしたり色を設定したりしています。しかし最近は、特定の範囲で、選択したテキストではなく、execCommandを使用する必要があります。execCommand on Range

どうすればいいですか?

答えて

7

選択する必要がありますが、選択する必要があります。換言すれば、次の操作を行います。

  • ストア現在の選択
  • Range
  • に基づいて新しい選択がexecCommand

あなたの前の選択をリストアの実行してください次の範囲の範囲(IE以外のブラウザ)からselectionを作成できます。

var selection = window.getSelection(); 
selection.removeAllRanges(); 
selection.addRange(range); 

IEの場合、execCommandTextRangeオブジェクトに直接実行することができます。このプロセス全体は不要です。

+0

いいですね。 1つの質問(私はjavascriptの初心者です)、どのように新しい選択をしますか?ありがとう。 – Joshua

+1

@Joshua私は小さな例で私の答えを更新しました – Niklas

+0

ありがとう、それはほぼ完全に今働いています。 :) – Joshua