开发者社区 问答 正文

单击菜单后,从p:tieredMenu隐藏菜单项

我有以下

<p:commandButton  id="menuButton"  value="ADD"  type="button" />
<p:tieredMenu overlay="true" trigger="menuButton" my="left top" at="left bottom" style="width:150px">
    <p:menuitem id="addProspectLink">
        <p:commandLink action="#{myController.oneAction}" value="Menu One" immediate="true" process="@this">
            <f:param name="id" value="#{myController.idValue}" />
        </p:commandLink>
    </p:menuitem>
    <p:menuitem id="searchProspectLink">
        <p:commandLink action="#{myController.twoAction}"  value="Menu Two" immediate="true" process="@this">
            <f:param name="id" value="#{myController.idValue}" />
        </p:commandLink>
</p:menuitem>

这可以按我想要的方式很好地工作,除了单击后不会隐藏菜单。

有人可以帮助我在单击链接后隐藏链接吗?

环境:JSF 2.2,PrimeFaces 6.2和Java 1.7

展开
收起
几许相思几点泪 2019-12-10 19:47:38 950 分享 版权
阿里云 AI 助理回答

根据您提供的信息和问题,看起来您是在寻求关于如何在特定技术栈(JSF 2.2, PrimeFaces 6.2, Java 1.7)中实现点击链接后隐藏菜单的解决方案。然而,从我当前的知识库参考资料来看,这些资料并未直接覆盖到您的具体问题,它们主要涉及Python依赖管理、软链接设置、OSS链接缩短以及Java Web环境部署等内容,与您所询问的前端交互行为(即JSF框架下操作DOM以隐藏元素)不直接相关。

尽管如此,我可以提供一个通用的JavaScript/jQuery示例代码片段,这可能对您在PrimeFaces环境中手动控制元素的显示与隐藏有所帮助。请根据您的实际项目结构和需求调整这段代码:

$(document).ready(function() {
    // 假设您的菜单ID为"menuId"
    $('#menuId').on('click', 'a.menu-link', function(e) {
        e.preventDefault(); // 阻止链接默认行为
        $(this).closest('.menu-item').hide(); // 隐藏被点击的链接所在的菜单项
    });
});

这段代码使用jQuery来监听具有类.menu-link的链接点击事件,并在点击后隐藏该链接所在的最近的.menu-item容器。请确保您已经正确引入了jQuery库,并将#menuId.menu-link.menu-item替换为实际的菜单容器ID和相应的类名。

由于我的知识库没有直接针对您使用的框架和版本的具体文档,建议查阅PrimeFaces官方文档或社区论坛,寻找更精确的解决方法,或者考虑升级到较新版本的PrimeFaces,新版本可能已内置更便捷的方式来处理这类UI交互问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: