【问题标题】:Editable Text in RaphaëlRaphaël 中的可编辑文本
【发布时间】:2011-08-24 21:11:06
【问题描述】:

有没有办法按照 SVG 1.2 规范 (http://www.w3.org/TR/2004/WD-SVG12-20040226/#text-edit) 中的描述在 Raphaël JS 中编辑 svg 文本?

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

没有像我希望的那样将 editable 属性添加到文本元素。

如果没有办法,我想我将不得不使用悬停的 html 文本元素……

【问题讨论】:

  • 需要支持哪些浏览器?
  • Raphaël 支持的所有浏览器,但我想没有解决方案,所以我将用 html 输入替换所有 svg 文本元素
  • 您可以在有人单击文本时创建一个浮动编辑框,然后用新输入的文本替换该文本。或者让 Dmitry 实现它:-)
  • 这个问题是关于文本框的。 OP 从未提及先知和山脉。

标签: javascript svg raphael


【解决方案1】:

您链接到的规范是工作草案(正在进行中的工作,可能会发生变化)。但是,SVG Tiny 1.2 spec 确实与same thing 差不多,而且它是 w3c 推荐的。当然,这并不能神奇地让每个实现都按照它所说的那样做,但它至少是稳定的。

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

【讨论】:

  • 我正在寻找基于 Raphaël 的解决方案,因为我所有的文本元素都已经以这种方式组合了
  • 假设 textelement 是一个 raphaël Element 对象,您可以使用textelement.node.setAttribute("editable", "simple")。但这只能让你到目前为止,所以是的,一般来说,如果你想让它跨浏览器工作,你将不得不使用 html 元素。
【解决方案2】:

Raphael 不是 100% 的 SVG 实现。它仅使用 SVG 和 VML 作为基础。因此,有些东西可能会奏效,而另一些则不像您预期​​的那样有效,有些东西根本不起作用。

【讨论】:

  • 我只是想确保在项目的这个阶段将我所有的 svg 文本元素更改为 html 元素将非常耗时
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 2010-11-18
相关资源
最近更新 更多