Изменить стиль из GWT
Я выполнил, но только FF и chrome перемещают textarea 0px сверху и 0px слева, но в IE
textarea находится в положении по умолчанию.
Вот мой код:
public class MyGWT implements EntryPoint {
TextArea ta= TextArea.wrap(DOM.getElementById("t"));
public void onModuleLoad() {
ta.getElement().setAttribute("style", "position:absolute;top:0px;left:0px;");
}
}
есть ли какая-либо ошибка или как я могу программно изменить атрибут стиля из GWT??
Ответы
Ответ 1
Не устанавливайте style
через setAttribute
. В JavaScript атрибут стиля фактически является массивом. Таким образом, в зависимости от того, насколько интеллектуальным является браузер и понимает, что вы хотите установить атрибуты стиля, он будет работать, установив style
или не будет работать.
Вы должны установить индивидуальные атрибуты стиля через getElement().getStyle().setProperty()
. Или используйте специальные методы, например: ta.getElement().getStyle().setPosition(Position.ABSOLUTE)
или с помощью метода setProperty: ta.getElement().getStyle().setProperty("position", "absolute")
. И то же самое для 2 других свойств. См. Класс style
для поддержки определенных методов.
Ответ 2
Как насчет использования классов стилей? Я имею в виду, вы можете написать класс стиля следующим образом:
.someClass {
position:absolute;
top:0px;
left:0px;
}
Затем добавьте класс стиля в TextArea
ta.addStyleName("someClass");
Это поможет вам написать более сжатый код без встроенного стиля, который может быть сложно поддерживать.