2010-06-21 10 views
15

He ejecutado pero solo FF y cromo mueve el textarea 0px desde la parte superior y 0px desde la izquierda, pero en IE textarea está en la posición predeterminada.Modificar el estilo desde GWT

Aquí está mi código:

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

} 

¿hay algún error o cómo puedo cambiar atributo de estilo mediante programación desde GWT ??

Respuesta

28

No establecer style a través de setAttribute. En JavaScript, el atributo de estilo es en realidad una matriz. Por lo tanto, dependiendo de qué tan inteligente es el navegador y entiende que quiere establecer los atributos de estilo, funcionará configurando style o no funcionará.

Debe establecer atributos de estilo individualmente a través de getElement().getStyle().setProperty(). O use los métodos específicos, como: ta.getElement().getStyle().setPosition(Position.ABSOLUTE) o mediante el método setProperty: ta.getElement().getStyle().setProperty("position", "absolute"). Y lo mismo para las otras 2 propiedades. Consulte la clase Style para conocer los métodos específicos que son compatibles.

+1

+1 Obtuve esta respuesta inmediata preguntando a Google: atributo de estilo gwt no establecido en ie' :) – jensgram

2

¿Qué pasa con el uso de las clases de estilo? Es decir, se puede escribir una clase de estilo de esta manera:

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

Y a continuación, añadir la clase de estilo a la TextArea

ta.addStyleName("someClass"); 

Esto ayudará a escribir un código más concisa, sin estilo en línea que podría ser difícil de mantener

+0

Esto es mucho más nítido, menos detallado y extensible. Definitivamente el camino a seguir – slonik

+0

Empareje este enfoque con CSSResource. Limpio y ordenado. Puede usar ta.addStyleName (CssResource.INSTANCE.someClass()); – StackOverflow

Cuestiones relacionadas