GWT上的Widget.addHandler()按钮无法正常工作

时间:2012-12-28 07:14:20

标签: gwt-2.5

我正在尝试在Button上使用方法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 个答案:

答案 0 :(得分:7)

只有让这项工作成功的是:

更改

widget.addHandler(clickHandler2, ClickEvent.getType());

widget.addDomHandler(clickHandler2, ClickEvent.getType());

答案 1 :(得分:0)

只需添加

widget.sinkEvents(Event.ONCLICK);

注册dom'点击'触发事件的事件