2012-10-04 3 views
5

"大胆" 可能な重複している場合はどのようにチェックします:
Identify whether the selected text in a web page is bold nor notのcontentEditable divの中にカーソルの下のテキストが

私はのcontentEditableのdivを作成し、これでした十分に簡単です。

私はdivの上部にコントロールを追加して、テキストを太字にしてアンボールドしました。

ここでは、カーソルの下にあるテキストの太字の状態に基づいてボタンのスタイルを設定したいと思います。つまり、カーソルの下のテキストが太字であれば、太字のアイコンには「挿入」があります。太字でない場合は、太字のアイコンが境界線なしになるようにしたいと思います。

カーソルの下の要素のスタイルを確認するにはどうすればよいですか?それが今あるようなコードに

リンク: http://jsfiddle.net/aCp7M/

+3

私たちにあなたのコード –

+0

を表示すると便利でしょうか? – rsz

+0

自分のコードへのリンクを追加しました。カーソルの下にあるテキストが太字で表示されているときに、アイコン "B"を境界線で表示したいと思います。 – Alterlife

答えて

9

ここでは、次のとおりです。http://jsfiddle.net/vvCzD/

使用document.queryCommandValue("Bold")キャレット位置でそのテキストをチェックするためには、ように大胆かつです。 すべての可能なコマンド識別子はhereと記載されています。


UPD: ティムは、後述するように、ブールのような特性を得るための正しい方法は、queryCommandStateあります。

+6

私は 'document.queryCommandState(" Bold ")は太字の正しい方法だと思います。 'queryCommandValue()'は、単にトグルするのではなく、値( "fontName"など)を持つコマンドに使用されます。 –

+1

ここに更新されたjsFiddleがあります:http://jsfiddle.net/vvCzD/1/ –

+0

@TimDown、ヒントのおかげで。あなたは完全に正しいです。 –