我正在学习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()));
}
答案 0 :(得分:1)
不要调用super.f()
,如果是这样,Function.f()
的默认实现将抛出异常,阻止执行下一行(take a look to the source code)。