JSF Primefaces-如何突出显示当前选定的p:menuitem。

JSF Primefaces-如何突出显示当前选定的p:menuitem。,jsf,primefaces,Jsf,Primefaces,我有下面描述的显示菜单和突出显示当前活动菜单的代码: $(文档)。在(“单击”、“#菜单\\:面板菜单a”上,函数(e){ e、 预防默认值(); $(“#menu\\:panelMenu li a”).removeClass(“活动”); $(this.addClass('active'); }); .active{ 颜色:#D09d23; 字体大小:粗体; 背景色:#c7c3c3; } 您应该删除e.preventDefault()来自javascript函数。在函数的形式上,它说 如果调

我有下面描述的显示菜单和突出显示当前活动菜单的代码:

$(文档)。在(“单击”、“#菜单\\:面板菜单a”上,函数(e){
e、 预防默认值();
$(“#menu\\:panelMenu li a”).removeClass(“活动”);
$(this.addClass('active');
});
.active{
颜色:#D09d23;
字体大小:粗体;
背景色:#c7c3c3;
}

您应该删除
e.preventDefault()来自javascript函数。在函数的形式上,它说

如果调用此方法,则不会调用事件的默认操作 触发


下面的检查使用了view.viewId,并使用条件运算符在JSF EL中设置样式类,使当前活动菜单高亮显示:



错误是什么?控制台中没有错误,只是在用户单击时,高亮显示发生,但页面未被导航。您检查了浏览器控制台吗?是的,我检查了。。没有显示错误。这是一个解决方案,谢谢@mismnc。在我删除此JS Func后,重定向工作正常。但是活动菜单的突出显示似乎没有发生,我猜一旦我重定向到另一个url,样式就不会被应用。。引用$(此)正确吗?我的意思是,当我单击菜单项时,在页面导航之前应用样式,但是一旦页面被导航,应用的样式就会丢失。@PreethiRajaraman如果重定向页面,只需静态地给出
活动的
类。所以不需要javascript函数。我不知道,可能还有其他的方法。你是说我需要像styleClass=“active”一样在游戏中给予吗?这并不能解决我的问题,因为我需要删除先前单击的所有其他菜单项上的活动类,并在单击的当前菜单项上应用活动样式,以便仅高亮显示当前菜单项。您的菜单是否存在于每个页面中?添加styleClass=“active”合适的菜单项页面组合。我在上面添加了对我来说效果不错的答案。我使用view.viewId和条件检查来设置styleClass。