【问题标题】:Element shifting when updating text attribute更新文本属性时元素移动
【发布时间】:2015-06-08 05:39:45
【问题描述】:

这就是我正在查看的内容。我有一个文本元素:

var label = paper.text(100, 100, "Test String").attr({some attrs});

它出现在我想要的地方,一切都很好。等我去更新text属性的时候问题就来了。

label.attr({text: "My new label text"});

当我这样做时,文本元素在正 y 方向上移动了一小部分,所以向下。

当我检查更改前后的 x 和 y 位置值时,它们是相同的。我不知道该怎么做。我注意到它不会在朋友浏览器 Chrome 中发生一次,这与我正在使用的浏览器相同。

有什么想法吗?我宁愿不必每次更改文本属性时都更改 y 值。

提前感谢您的帮助!

【问题讨论】:

  • 您是否也使用其他浏览器对此进行了测试?请提供一个 fiddle 或 plunk 来演示效果。

标签: javascript text svg raphael


【解决方案1】:

我不知道这对您的项目是否可行,但您可以尝试将 raphael 元素与标准 html 元素结合使用。您的标签可以是一个使用 jQuery 定位和设置样式的 div。如果你需要动态改变标签的文字,你可以只使用 jQuery 的.html() 属性为 div,它不会改变它的位置。这可能不是最优雅的解决方案,但集成 jquery 和 raphael 在大多数情况下都可以很好地工作,并保证跨浏览器的文本定位/样式标准化。

【讨论】:

    猜你喜欢
    • 2015-03-17
    • 2020-06-22
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 2016-02-16
    • 1970-01-01
    • 2016-05-03
    相关资源
    最近更新 更多