2011-08-24 54 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元素。 –