2011-08-24 51 views
5

有没有一种方法可以在SVG 1.2规范(http://www.w3.org/TR/2004/WD-SVG12-20040226/#text-edit)中描述的在RaphaëlJS中编辑svg文本?Raphaël中的可编辑文本

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

我所希望的不会在编辑属性添加到TextElement的。

如果没有办法,我想我会与徘徊HTML textelements工作...

+0

您需要支持哪些浏览器? –

+0

Raphaël支持的所有浏览器,但我想没有解决方案,所以我将通过html输入来替换所有svg文本元素 –

+0

当有人点击文本然后用文本替换文本时,您可以创建浮动编辑框新输入的。或者问德米特里执行它:-) –

回答

2

拉斐尔是不是100%的SVG实现。它只使用SVG & VML作为基础。因此,有些东西可能会起作用,而另一些则不如您所期望的那样工作,有些东西根本不起作用。

+2

我只是想确保没有任何可能性,因为在项目的这一点上将所有svg文本元素更改为html元素将会非常耗时 –

3

您链接的规范是一份工作草案(一项正在进行的工作,可能会有变化)。然而,SVG Tiny 1.2 spec确实有几乎same thing,这是一个W3C推荐。当然,这不会神奇地使每个实现都做它所说的,但它至少是稳定的。

如果你正在寻找一个做SVG的文本元素的支持'editable'实现,那么Opera就是一个例子。

+2

我正在寻找基于Raphaël的解决方案,因为我的所有文本元素都已经组成那样 –

+0

假设textelement是一个raphaëlElement对象,你可以使用'textelement.node.setAttribute(“editable”,“simple”)''。但是,这只能让你走到这一步,所以是的,一般来说,如果你希望它能够跨浏览器,你将不得不使用html元素。 –