如何从GQuery事件处理程序中调用GWT客户端代码?

时间:2013-08-20 19:47:49

标签: gwt errai gquery

我正在学习GQuery。这看起来很酷,但也有点令人困惑。

我有以下GWT客户端代码。所选项目很好地消失了。但delete方法永远不会被调用。没有错误。这很奇怪。

甚至可以从GQuery方法中调用非GQuery函数吗?

delete.addClickHandler( new ClickHandler() {
    @Override
    public void onClick(ClickEvent event) {
        $(myIndicator).fadeOut(500, new Function(){
            @Override
            public void f() {                       
                super.f();
                delete();
            }                   
        });                 

    }
});

delete方法是:

private void delete() {
    removeFromParent();
    ruleDeleteRequestEvent.fire(new RuleDeleteRequestEvent(ruleBinder.getModel()));
}    

1 个答案:

答案 0 :(得分:1)

不要调用super.f(),如果是这样,Function.f()的默认实现将抛出异常,阻止执行下一行(take a look to the source code)。