2012-10-04 17 views
5

Duplicar posible:
Identify whether the selected text in a web page is bold nor not¿Cómo verifico si el texto bajo el cursor en un div contenteditable es "negrita"

He creado un div contenteditable, y esto era lo suficientemente sencillo.

También he agregado un control en la parte superior de la div para negrita y suavizar el texto.

Ahora, me gustaría diseñar el botón en función del estado en negrita del texto debajo del cursor, es decir, si el texto debajo del cursor está en negrita, me gustaría que el icono en negrita tenga el borde 'insertado' .. .y si no es negrita, me gustaría que el ícono en negrita esté sin borde.

¿Cómo puedo verificar el estilo del elemento debajo del cursor?

Enlace al código como lo es ahora: http://jsfiddle.net/aCp7M/

+3

Sería útil mostrarnos su código –

+0

¿algún progreso con esto? – rsz

+0

He agregado un enlace a mi código. Me gustaría que el icono "B" se muestre con un borde cuando el texto debajo del cursor está en negrita. – Alterlife

Respuesta

9

Aquí son: http://jsfiddle.net/vvCzD/

Uso document.queryCommandValue("Bold") para comprobar que el texto en la posición del cursor está en negrita y así sucesivamente. Se describen todos los identificadores de comando posibles here.


UPD: Como Tim indicados a continuación, un método correcto para conseguir propiedades booleanas-como es queryCommandState.

+6

Creo que 'document.queryCommandState (" Bold ")' es el método correcto para negrita. 'queryCommandValue()' se usa para comandos que tienen un valor (como "fontName") en lugar de simplemente alternar. –

+1

Aquí hay un jsFiddle actualizado: http://jsfiddle.net/vvCzD/1/ –

+0

@TimDown, gracias por la pista. Tienes toda la razón. –

Cuestiones relacionadas