我没有从 DOM.setElementAttribute
中获得任何效果,我做错了什么吗?
class MyListBox extends com.google.gwt.user.client.ui.ListBox {
....
protected void setHoverAutoWidth() {
addDomHandler(new MouseOverHandler() {
public void onMouseOver(MouseOverEvent event) {
DOM.setElementAttribute(getElement(), "width", "auto");
}
}, MouseOverEvent.getType());
addDomHandler(new BlurHandler(){
public void onBlur(BlurEvent event) {
DOM.setElementAttribute(getElement(), "width", "100px");
}
}, BlurEvent.getType());
}
}
(我知道更改宽度的方法比直接设置样式属性要少一些,但我现在不关心 css。)
编辑:哎呀,刚刚意识到宽度不会改变样式宽度,只是向标签添加一个宽度属性(这解释了为什么没有任何反应)。仍然欢迎任何有关如何修改样式的建议!
最佳答案
我很确定它将尝试设置元素的 width
属性(对于您正在处理的元素类型可能不存在),不 CSS width
属性。
您可能正在寻找setStyleAttribute
.
关于java - 如何在GWT中设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3062437/