我有一个文本区域,我需要使用一个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;
}
答案 0 :(得分:0)
假设,如果文本区域是聚焦的,您想要更改样式,可以使用addBlurHandler
和addFocusHandler
。
此外,我认为,您的问题是,您不会删除其他样式。
这样的事情应该有效:
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");
}
});
希望有所帮助。