Widget.addHandler() на кнопке GWT работает неправильно
Я пытаюсь использовать метод addHandler на кнопку. Ниже приведен мой код:
private void attachClickHandler(Widget widget) {
ClickHandler clickHandler1;
ClickHandler clickHandler2;
clickHandler1 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler One");
}
};
clickHandler2 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler Two");
}
};
((Button) widget).addClickHandler(clickHandler1);
widget.addHandler(clickHandler2, ClickEvent.getType());
}
Если я добавлю оба обработчика, он работает отлично. Но если я пытаюсь добавить только clickHandler2 (с widget.addHandler(...), то обработчик не вызывается.
Не в состоянии понять, почему?
Заранее спасибо.
2 ответа
Решение
Единственное, что нужно, чтобы это работало:
+ Изменить
widget.addHandler(clickHandler2, ClickEvent.getType());
в
widget.addDomHandler(clickHandler2, ClickEvent.getType());
Просто добавь
widget.sinkEvents(Event.ONCLICK);
это регистрирует dom 'click' событие, чтобы вызвать событие