Wicket AjaxCallListener getPrecondition 方法不起作用
Wicket AjaxCallListener getPrecondition method doesn't work
我正在使用 AjaxLink,我想在某些情况下停止它的 "onClick" 方法执行。一个解决方案是 class 称为 "AjaxCallListener",它有方法 "getPrecondition()",您可以在其中调用任何您的 javascript 函数并且结果是否为 "false",然后 AjaxLink 的 "onClick" 不执行。此 "AjaxCallListener" 添加到 ajaxRequest 的属性中。
@Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override public CharSequence getPrecondition(Component component) {
return "isPropagationAllowed();";
}
});
}
然后在我们的 js 文件中的某处:
function isPropagationAllowed() {
alert('function called')
return false;
}
警报已调用,但服务器上的进一步执行仍然有效。
你应该写 "return ${functionName}()" 作为 "getPrecondition" 方法的结果:
@Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override public CharSequence getPrecondition(Component component) {
return "return isPropagationAllowed()";
}
});
}
我正在使用 AjaxLink,我想在某些情况下停止它的 "onClick" 方法执行。一个解决方案是 class 称为 "AjaxCallListener",它有方法 "getPrecondition()",您可以在其中调用任何您的 javascript 函数并且结果是否为 "false",然后 AjaxLink 的 "onClick" 不执行。此 "AjaxCallListener" 添加到 ajaxRequest 的属性中。
@Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override public CharSequence getPrecondition(Component component) {
return "isPropagationAllowed();";
}
});
}
然后在我们的 js 文件中的某处:
function isPropagationAllowed() {
alert('function called')
return false;
}
警报已调用,但服务器上的进一步执行仍然有效。
你应该写 "return ${functionName}()" 作为 "getPrecondition" 方法的结果:
@Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override public CharSequence getPrecondition(Component component) {
return "return isPropagationAllowed()";
}
});
}