我想在按钮元素上添加处理程序,我已经按照下面的方式实现了它。请帮助我解决这段代码中的错误。我不想直接在按钮小部件上添加处理程序。
Button button = new Button("Click");
Element buttonElement = button.getElement();
Event.setEventListener(buttonElement, new EventListener() {
@Override
public void onBrowserEvent(Event event) {
String string = event.getType();
if(string.equalsIgnoreCase("click")) {
System.out.println("CLICK");
}
}
});
Event.sinkEvents(buttonElement, Event.ONCLICK);
elem.__listener = widget
,在 DOM.setEventListener() 中执行。这是在小部件附加时设置的,并在分离时清除。 - bNdEvent.setEventListener
(它仅在元素级别而不是小部件级别工作,因此没有附加/分离的概念)时才会发生这种情况;sinkEvents
也仅在小部件的第一个onAttach
中调用。 - Thomas Broyer