效果:鼠标经过菜单,该菜单的菜单项自动列出。
有些客户不想点击菜单项,才出现菜单项,想要鼠标经过,菜单项就自动列出。
代码量比较少,列出详细点:
<f:facet name="metaContainer">
<af:group>
<![CDATA[
<script>
function showMenu(event){
var adfRichMenu=event.getSource();
adfRichMenu.getPeer().show(null,true);
}
</script>
]]>
</af:group>
</f:facet>
<af:form id="f1">
<af:panelGroupLayout id="pgl1" layout="scroll">
<af:menuBar id="mb1">
<af:menu text="menu 1" id="m1">
<af:commandMenuItem text="commandMenuItem 1" id="cmi1"/>
<af:clientListener method="showMenu" type="mouseOver"/>
</af:menu>
<af:menu text="menu 2" id="m2">
<af:commandMenuItem text="commandMenuItem 2" id="cmi2"/>
<af:commandMenuItem text="commandMenuItem 3" id="cmi3"/>
<af:clientListener method="showMenu" type="mouseOver"/>
</af:menu>
</af:menuBar>
</af:panelGroupLayout>
</af:form>
</af:document>
1.在菜单上使用客户端监听器,一旦鼠标掠过事件发生,将调用js方法。
2.js中显示菜单的子菜单。
注意:用的这个oracle.adf.view.js.component.rich.AdfRichMenu
而不是oracle.adf.view.rich.component.rich.RichMenu