我使用Primefaces 4.0.15并构建动态megamenu。它适用于常规浏览器。但是在触摸设备上,没有子项目的菜单项不会被触发。 我尝试在xhtml页面中添加一个megamenu然后它可以工作。 我比较了两个生成的HTML,他们在我看来是一样的。 关于问题可能是什么想法?
这是生成的HTML无效
<div id="menu:mainMenu" class="ui-menu ui-menubar ui-megamenu ui-widget ui-widget-content ui-corner-all ui-helper-clearfix" role="menubar">
<ul class="ui-menu-list ui-helper-reset">
<li class="ui-menuitem ui-widget ui-corner-all" role="menuitem">
<a tabindex="-1" class="ui-menuitem-link ui-corner-all" href="quote/list.xhtml">
<span class="ui-menuitem-text">My quotes</span>
</a>
</li>
</ul>
动态菜单构造如下:
<p:megaMenu model="#{menu.model}" autoDisplay="#{!userAgentResolver.mobileDeviceDetected}" id="mainMenu" />
的java:
item = new DefaultMenuItem();
item.setValue(getMsg(menuItemTranslationKey));
item.setUrl(menuUrl);
model.addElement(item);
答案 0 :(得分:0)
我发现了问题。自动显示设置为false。我将其设置为true,它也适用于触摸设备。