2012-10-04 16 views
5

Powiel możliwe:
Identify whether the selected text in a web page is bold nor notJak mogę sprawdzić, czy tekst pod kursorem w contenteditable div jest "bold"

Utworzyłem contenteditable div, a to było wystarczająco proste.

Mam również dodano kontrolę nad div, pogrubienie i rozwinięcie tekstu.

Teraz chciałbym ustawić przycisk w oparciu o pogrubiony status tekstu pod kursorem - np. Jeśli tekst pod kursorem jest pogrubiony, chciałbym, aby pogrubiona ikona miała "wstawkę" na granicy. i jeśli nie jest to pogrubienie, chciałbym, aby pogrubiona ikona była bez obramowania.

Jak mogę sprawdzić styl elementu pod kursorem?

link do kodu jak jest teraz: http://jsfiddle.net/aCp7M/

+3

Przydałoby się pokazać nam swój kod –

+0

trochę postępu z tym? – rsz

+0

Dodałem w linku do mojego kodu. Chciałbym, aby ikona "B" była wyświetlana z ramką, gdy tekst pod kursorem jest pogrubiony. – Alterlife

Odpowiedz

9

Tutaj jesteś: http://jsfiddle.net/vvCzD/

Zastosowanie document.queryCommandValue("Bold") sprawdzić ten tekst w pozycji karetki jest pogrubiony i tak dalej. Wszystkie możliwe identyfikatory poleceń są opisane here.


UPD: Jak Tim nizej, poprawna metoda uzyskania właściwości logicznych, jak to queryCommandState.

+6

Wierzę, że 'document.queryCommandState (" Bold ")' jest właściwą metodą pogrubienia. 'queryCommandValue()' jest używane dla poleceń, które mają wartość (taką jak "fontName"), a nie tylko przełączanie. –

+1

Oto zaktualizowany jsFiddle: http://jsfiddle.net/vvCzD/1/ –

+0

@TimDown, dzięki za podpowiedź. Masz całkowitą rację. –

Powiązane problemy