这就是我正在看的内容。我有一个文本元素:
var label = paper.text(100, 100, "Test String").attr({some attrs});
它出现在我想要的地方,一切都很好。当我稍后更新text属性时会出现问题。
label.attr({text: "My new label text"});
当我这样做时,文本元素在正y方向上移动了一小部分,因此向下移动。
当我检查更改前后的x和y位置值时,它们是相同的。我不知道该怎么做。我注意到它不会发生在朋友浏览器Chrome中,这与我正在使用的浏览器相同。
有什么想法吗?我每次更改文本attr时都不必更改y值。
提前感谢您的帮助!
答案 0 :(得分:0)
我不知道这对您的项目是否可行,但您可以尝试将raphael元素与标准html元素结合使用。您的标签可以是使用jQuery定位和设置样式的div。如果需要动态更改标签的文本,可以使用div的jQuery .html()
属性,这不会改变其位置。这可能不是最优雅的解决方案,但集成jquery和raphael在大多数情况下都能很好地工作,并保证跨浏览器的文本定位/样式的标准化。