Изменить стиль из GWT - PullRequest
       2

Изменить стиль из GWT

16 голосов
/ 21 июня 2010

Я выполнил, но только FF и Chrome перемещают текстовую область на 0px сверху и 0px слева, но в IE текстовая область находится по умолчанию.

Вот мой код:

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;");
   }

}

isЕсть ли ошибка или как я могу изменить атрибут стиля программно из GWT ??

Ответы [ 2 ]

29 голосов
/ 21 июня 2010

Не устанавливать style через setAttribute. В JavaScript атрибут style на самом деле является массивом. Таким образом, в зависимости от того, насколько умный браузер и понимает, вы хотите установить атрибуты стиля, он будет работать, задав style или не будет работать.

Вы должны установить атрибуты стиля индивидуально через getElement().getStyle().setProperty(). Или используйте конкретные методы, например: ta.getElement().getStyle().setPosition(Position.ABSOLUTE) или через метод setProperty: ta.getElement().getStyle().setProperty("position", "absolute"). И то же самое для 2 других свойств. Смотрите класс Style, чтобы узнать, какие конкретные методы поддерживаются.

3 голосов
/ 10 октября 2013

А как насчет использования стилей?Я имею в виду, что вы можете написать класс стиля следующим образом:

.someClass {
    position:absolute;
    top:0px;
    left:0px;
}

И затем добавить класс стиля в TextArea

ta.addStyleName("someClass");

. Это поможет вам написать более лаконичный код,без встроенного стиля, который может быть трудно поддерживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...