2010-06-19 15 views
8

Necesito hacer un mecanismo de comentario en el que el usuario resalta una parte del texto, hace clic en "comentar esto" y luego hace algo. El código Javascript tiene que saber no solo el texto seleccionado (esto es trivial), sino también el anchorOffset, para saber exactamente de qué personaje se seleccionó el texto.¿Existe una solución de navegador cruzado para getSelection()?

He encontrado un cross-browser solution que le da el texto. ¿Hay alguna manera confiable de obtener un selection object como se describe en las especificaciones DOM?

+1

Ese objeto no está en las especificaciones DOM, como se puede ver en [Quirksmode.org] (http://www.quirksmode.org/dom/range_intro.html#link2). Esa página también podría ser útil para un tipo de solución de navegador cruzado. –

+0

Sugeriría una solución en la que analice el texto del nodo para el texto seleccionado con 'indexOf (selection)', pero no estoy exactamente seguro de lo que intenta lograr. – FK82

Respuesta

3

Puede probar IERange, que crea un objeto de tipo selección en IE y agrega un método getSelection() al window. No creo que sea perfecto, pero se trata de la mejor biblioteca independiente de Rango/selección que he visto.

actualización

He estado trabajando en una biblioteca de radio/selección llamada Rangy que va más allá de lo que ofrece IERange. Hay una versión anticipada disponible en http://code.google.com/p/rangy.

Cuestiones relacionadas