2010-12-15 16 views
10

$(element)[0].selectionStart parece que solo funciona para textareas. ¿Hay una alternativa para los no textareasJquery: selectionStart para elementos no textarea


Im tratando de envolver cadenas dentro de los elementos DOM en las etiquetas (negrita, cursiva ...)



también, cómo puedo deshacer el envoltorio?

Respuesta

9

Esta es un área difícil. Necesita el objeto Selection y DOM Range. Sin embargo, IE hace esto completamente diferente a los navegadores adecuados.

Envolver la selección dentro de las etiquetas tampoco es trivial en general: debe tener en cuenta todos los nodos de texto dentro de la selección.

Mi biblioteca Rangy normaliza la API de selección/rango para IE y tiene un module to apply a CSS class to a selection, lo que puede ayudarlo hasta cierto punto. También estoy planeando escribir un módulo más general para aplicar otros estilos a una selección/rango.

Perdón por la descarada autopromoción, pero sin escribir mucho código usted mismo, no sé qué más sugerir.

+0

Muchas gracias por su respuesta, tengo que aprender más manipulación de cadenas de JavaScript. – Zebra