我需要做类似的事情:
paper.text(Left, Top, " " + this._p.Label + ":");
paper.text(Left, Top, " " + this._p.Label + ":");
但是前置的空格不会在文本中显示或显示为
。
我试过了:
label.attr({"xml:space": "preserve"});
......没有效果。
无论如何都要访问Raphael JS中的SVG节点,所以我可以设置
setAttributeNS("http://www.w3.org/XML/1998/namespace","space","preserve");
(还有其他方法可以解决这个问题吗?)
答案 0 :(得分:3)
是的,您绝对可以将该命名空间属性直接应用于Raphael管理的SVG元素。就这么简单:
paper.canvas.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space","preserve");
证明具有实用性here。
答案 1 :(得分:2)
虽然这似乎有点 [1] 已解决,但我遇到了this discussion关于同一问题的问题,而是建议用\u00a0
替换空格。这可以通过使用字符串函数.replace(/ /g,'\u00a0')
轻松实现。