我正在使用RaphaelGWT绘制基础RaphaelJS库的形状。这两个项目都很棒。然而,我在拉斐尔的Text对象被默认显示为居中的问题上被困了一段时间。
我尝试创建一个Text对象并默认居中,然后测量其宽度以调整第二个文本对象的位置,然后删除第一个。但是我无法获得原始Text对象的宽度。
仅供参考,在RaphaelGWT中,使用的Shape对象扩展了Widget。所以我尝试了getAbsoluteLeft()
,getElement().getAbsoluteRight()
,getOffsetWidth()
,getElement().getClientWidth()
。 getAbsoluteLeft()是唯一一个返回我期望的东西。 getAbsoluteRight()
返回与getAbsoluteLeft()
相同的值,getOffsetWidth()
和getElement().getClientWidth()
都返回0。
为什么?
仅供参考,我计算了用于创建文本形状的原始x值(x然后成为中心)和getAbsoluteLeft()
的宽度,它实际上返回了预期值。
答案 0 :(得分:3)
元素必须是可见的,getOffsetWidth()才能返回正确的值。