Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wicket AjaxCallListener GetPremission方法不';行不通_Javascript_Java_Wicket - Fatal编程技术网

Javascript Wicket AjaxCallListener GetPremission方法不';行不通

Javascript Wicket AjaxCallListener GetPremission方法不';行不通,javascript,java,wicket,Javascript,Java,Wicket,我正在使用AjaxLink,我想在某些情况下停止它的“onClick”方法执行。一个解决方案是名为“AjaxCallListener”的类,该类具有方法“getPremission()”,在该类中,您可以调用任何javascript函数,无论结果是否为“false”,AjaxLink的“onClick”都不会执行。这个“AjaxCallListener”被添加到ajaxRequest的属性中 @Override protected void updateAjaxAttributes(AjaxRe

我正在使用AjaxLink,我想在某些情况下停止它的“onClick”方法执行。一个解决方案是名为“AjaxCallListener”的类,该类具有方法“getPremission()”,在该类中,您可以调用任何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文件中的某个地方:

函数isPropagationAllowed(){
警报('调用函数')
返回false;
}

警报已被调用,但服务器上的进一步执行仍然有效。

您应该编写“return${functionName}()”,作为“getPremission”方法的结果:

您应该编写“return${functionName}()”,作为“getPremission”方法的结果:


如果你移动了警报(“”),该怎么办?仍然不起作用?它不起作用,因为该函数的结果没有返回,所以它需要在Java中明确地执行如果您的Emove alert(“”),该怎么办?仍然不工作?它不工作,因为该函数的结果没有返回,所以需要在Java中明确地完成
@Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
        @Override public CharSequence getPrecondition(Component component) {
            return "return isPropagationAllowed()";
        }
    });
}