如何向GWT中的InputElement添加单击侦听器?
我创建了以下复选框如何向GWT中的InputElement添加单击侦听器?,gwt,Gwt,我创建了以下复选框 import com.google.gwt.dom.client.InputElement; ... final InputElement bulkEditCheckbox = Document.get().createCheckInputElement(); 尝试了许多公式,但就是无法将其包装或添加侦听器。有什么建议吗 PS:尝试使用SimpleCheckBox.wrap()进行包装时出现以下错误: 这解决了我的问题: DOM.sinkEvents
import com.google.gwt.dom.client.InputElement;
...
final InputElement bulkEditCheckbox = Document.get().createCheckInputElement();
尝试了许多公式,但就是无法将其包装或添加侦听器。有什么建议吗
PS:尝试使用SimpleCheckBox.wrap()进行包装时出现以下错误:
这解决了我的问题:
DOM.sinkEvents(element, Event.ONCLICK);
DOM.setEventListener(element, new EventListener() {
@Override
public void onBrowserEvent(Event event) {
if (Event.ONCLICK == event.getTypeInt()) {
...
}
}
});
如果您尝试将InputElement封装到一个小部件中,为什么需要创建InputElement?感谢您的回复,之前已经尝试过了,但是我的ClickHandler在这样做时根本不起作用(直接使用SimpleCheckBox)。我很高兴您找到了答案,但我觉得有一种更简单、更干净的方法来实现这一点。我完全同意,我被一些项目约束(旧GWT版本、旧EXT GWT版本和我们的定制框架)强迫使用这种低级方法。所有这些都为我提供了一个不太灵活的界面。。。再次感谢您的检查。只是一个简单的问题。你为什么需要这个。您可以使用gwt提供的复选框小部件。复选框上的单击处理程序等同于值更改处理程序,除非您有一些特别的要求
DOM.sinkEvents(element, Event.ONCLICK);
DOM.setEventListener(element, new EventListener() {
@Override
public void onBrowserEvent(Event event) {
if (Event.ONCLICK == event.getTypeInt()) {
...
}
}
});