是否可以取消 javascript 中的 PrimeFaces menuitem onclick 函数

Is it possible to cancel a PrimeFaces menuitem onclick function in javascript

我有一个带有左侧菜单的 PrimeFaces 网站。菜单有几个菜单项:

<p:menuitem 
value="#{msgs['text.menuitemMessage']}" 
action="#{miClass.menuitemAction}" 
styleClass="mnt-icon icon_24 #{miClass.getStyle('parameter')}" 
global="false" />

menuItem 使用来自 miClass.menuitemAction 方法的 onclick 值制作得很好。 是否可以覆盖 javascript 中的 PrimeFaces onclick 函数? 就像在只有一页的非常具体的设置中一样。单击 menuItem 时执行检查,如果检查 return true 则执行通常的 onclick 操作,如果检查为 false,则 onclick 被 return false 覆盖。

感谢您的评论,我根据他们得到了答案。解决方案是获取菜单项句柄并重写 onclick 函数:

for (var i = 0; i < menuitemsLength; i++) {
            var menuitemFunction = PF("widget_j_idt87_j_idt88").menuitemLinks[i].onclick;

            PF("widget_j_idt87_j_idt88").menuitemLinks[i].onclick = function () {
                globalFunctionForLeaving = $(this).attr('onclick');
                console.log(globalFunctionForLeaving);

                if ("#{miClass.somethingDone}") {
                    PF('popupWindow').show();
                    return false;
                } else {
                    menuitemFunction;
                }
            }
        }

该脚本仅在某个页面上 运行。