2011-08-24 12 views
5

¿Hay alguna manera de hacer que un texto svg se pueda editar en Raphaël JS como se describe en las Especificaciones de SVG 1.2 (http://www.w3.org/TR/2004/WD-SVG12-20040226/#text-edit)?Texto editable en Raphaël

textelement.attr("editable", "true"); 

no agrega el editable atributo a la TextElement como había esperado.

Si no hay manera que supongo que tendré que trabajar con flotando textelements html ...

+0

¿Qué navegadores necesitas apoyar? –

+0

Todos los navegadores que Raphaël admite, pero supongo que no hay solución para eso, así que voy a reemplazar todos los elementos de texto svg por las entradas html –

+0

Puede crear un cuadro de edición flotante cuando alguien hace clic en el texto y luego reemplazar el texto con la nueva entrada. O solicite a Dmitry que lo implemente :-) –

Respuesta

2

Raphael no es una aplicación SVG 100%. Solo utiliza SVG & VML como base. Por lo tanto, algunas cosas pueden funcionar, mientras que otras no funcionan del modo esperado y algunas no funcionan en absoluto.

+2

Solo quiero asegurarme de que no hay ninguna posibilidad ya que cambiar todos mis elementos de texto svg a elementos html en este punto del proyecto me llevaría bastante tiempo –

3

La especificación a la que se vincula es un borrador en proceso (un trabajo en progreso, sujeto a cambios). Sin embargo, el SVG Tiny 1.2 spec tiene casi el same thing, y es una Recomendación w3c. Por supuesto, eso no hace mágicamente que cada implementación haga lo que dice, pero al menos es estable.

Si está buscando una implementación que admita 'editable' en los elementos de texto svg, entonces Opera es un ejemplo.

+2

Estoy buscando una solución basada en Raphaël ya que todos mis elementos de texto ya están compuestos de esa manera –

+0

Puede usar 'textelement.node.setAttribute (" editable "," simple ")' suponiendo que textelement es un objeto Raphaël Element. Pero eso solo te lleva tan lejos, así que sí, en general vas a tener que buscar elementos html si quieres que funcione con navegador cruzado. –