почему getOffsetWidth () и getElement (). getClientWidth () возвращают 0 для виджета в GWT? - PullRequest
1 голос
/ 29 сентября 2010

Я использую RaphaelGWT для рисования фигур с помощью базовой библиотеки RaphaelJS.Оба проекта замечательны.Однако я на некоторое время застрял в вопросе о том, что текстовые объекты в Raphael отображаются по центру по умолчанию.

Я попытался создать один текстовый объект и по умолчанию центрировать его, а затем измерить его ширину по порядку.отрегулировать положение для второго текстового объекта, а затем удалить первый.Но я не могу получить ширину исходного объекта Text.

FYI, в RaphaelGWT используемые объекты Shape расширяют виджет.Итак, я попробовал getAbsoluteLeft(), getElement().getAbsoluteRight(), getOffsetWidth(), getElement().getClientWidth().getAbsoluteLeft () - единственный, который возвращает то, что я ожидал.getAbsoluteRight() возвращает то же значение, что и getAbsoluteLeft(), и оба getOffsetWidth() и getElement().getClientWidth() возвращают 0.

Почему?

К вашему сведению, я вычислил ширину из исходного значения xсоздать форму текста (затем x стал центром) и getAbsoluteLeft(), которые фактически вернули ожидаемое значение.

1 Ответ

3 голосов
/ 16 декабря 2010

Элемент должен быть видимым, чтобы функция getOffsetWidth () возвращала правильные значения.

...