Pregunta

Estoy jugando con contento y ejecutivo, y estoy tratando de hacerlo para que cuando se presione un botón,

  • Si hay texto seleccionado en el contento, se vuelve en negrita

  • Si no hay texto seleccionado en el contento, entonces cualquier texto escrito en el contento después de presionar el botón está en negrita

Intenté usar el siguiente comando JavaScript:

 document.execCommand('bold', false, null);

Pero desafortunadamente, eso solo causa texto que se selecciona para ser en negrita; Si no se selecciona ningún texto y comienza a escribir después de presionar el botón, el texto se muestra sin volar.

Noté que si presiono CTRL+B en la Contentedable, hace exactamente lo que me gustaría lograr, pero me gustaría lograr esto usando JavaScript (y sin simular un CTRL+B en JavaScript).

¿Fue útil?

Solución

En realidad el document.execCommand() llamar hace exactamente lo que quiere (puede probar esto llamándolo desde un keydown Manejador de eventos), y sospecho que es el efecto de cualquier botón o cualquier otra cosa que esté usando para activar el comando ese es el problema.

Otros consejos

La gama JavaScripts puede consultar el texto seleccionado, ver este enlace. Puede usarlo para obtener el texto seleccionado (startnode, endnode, compensación, etc.). Si desea que el nuevo texto sea audaz, simplemente agrégalo en un nuevo creado <p> que das en negrita en CSS. Pero, esto podría no funcionar en IE ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top