CSS未在GXT textarea中更新

时间:2017-06-12 05:55:18

标签: java html css gwt gxt

我有一个文本区域,我需要使用一个CSS onClick和另一个CSS onBlur。但它没有得到更新的布鲁尔。你能帮我么 ?

final TextArea textarea = new TextArea();
textarea.addBlurHandler(new BlurHandler() {

    @Override
    public void onBlur(BlurEvent event) {
        textarea.addStyleName("gxtTextAreaTransparentBackground");
    }
});

textarea.addDomHandler(new ClickHandler() {

    @Override
    public void onClick(ClickEvent event) {
        textarea.addStyleName("gxtTextAreaDefaultBackground");
    }
}, ClickEvent.getType());

我的CSS代码在下面,

.gxtTextAreaTransparentBackground * {
   background: red !important;
   border: 0 none !important;
   outline: none !important;
}

.gxtTextAreaDefaultBackground * {
   background: white !important;
   order: 1 none !important;
} 

1 个答案:

答案 0 :(得分:0)

假设,如果文本区域是聚焦的,您想要更改样式,可以使用addBlurHandleraddFocusHandler

此外,我认为,您的问题是,您不会删除其他样式。

这样的事情应该有效:

final TextArea textarea = new TextArea();

textarea.addBlurHandler(new BlurHandler() {
    @Override
    public void onBlur(BlurEvent event) {
        textarea.addStyleName("gxtTextAreaTransparentBackground");
        textarea.removeStyleName("gxtTextAreaDefaultBackground");
    }
});

textarea.addFocusHandler(new FocusEvent() {
    @Override
    public void onFocus(FocusEvent event) {
        textarea.addStyleName("gxtTextAreaDefaultBackground");
        textarea.removeStyleName("gxtTextAreaTransparentBackground");
    }
 });

希望有所帮助。