我有以下
<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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的信息和问题,看起来您是在寻求关于如何在特定技术栈(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交互问题。