是否可以取消 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;
}
}
}
该脚本仅在某个页面上 运行。
我有一个带有左侧菜单的 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;
}
}
}
该脚本仅在某个页面上 运行。