我们有一个 AjaxButton,例如:
add(new AjaxButton("ajax-cancel-button", form) {
private static final long serialVersionUID = 839803820502260006L;
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
// repaint the feedback panel so that it is hidden
target.add(feedback);
// DO ACTION
}
});
ConfirmCallListener 看起来像这样:
public class ConfirmCallListener extends AjaxCallListener {
private static final long serialVersionUID = 7355235720213137963L;
public ConfirmCallListener(long id) {
onPrecondition("if (!confirm('Do you want this')) {"
+ js + "; return false;}");
}
}
我现在想要的是当用户在“确认”对话框中按下“取消”(NOT Ok)时捕获 JavaScript 事件。当用户按下“确定”时,我可以捕捉到事件。但我也想对“取消”事件做出反应(因为当用户按下取消时,一些加载栏应该消失)。
如何捕捉确认框的取消事件?
谢谢!塞巴斯蒂安