我有一个asp:菜单,我有例如3 menuItem:First Second Third和第二个项目有2个子菜单我只想在我点击第二个菜单时才显示2个子菜单,而不是当我将鼠标悬停在上面时。我将把菜单代码放在这里
<asp:Menu ID="Menu_WebSite" runat="server"
DynamicHorizontalOffset="10" TabIndex="1"
Font-Names="Verdana" Font-Size="12px"
StaticSubMenuIndent="10px" Orientation="Horizontal"
StaticEnableDefaultPopOutImage="false" BackColor="#f0f0f0">
<StaticSelectedStyle ForeColor="Black" />
<DynamicHoverStyle BackColor="#f0f0f0" ForeColor="Black" />
<DynamicMenuItemStyle BackColor="#f0f0f0" HorizontalPadding="25px" VerticalPadding="3px" />
<DynamicMenuStyle BackColor="#f0f0f0" ForeColor="Black" />
<DynamicSelectedStyle BackColor="#f0f0f0" Forecolor="Black" />
<StaticHoverStyle BackColor="#f0f0f0" ForeColor="Black" />
<StaticMenuItemStyle BackColor="#f0f0f0" HorizontalPadding="10px" VerticalPadding="3px" />
<StaticItemTemplate>
<%#Eval("text")%>
</StaticItemTemplate>
</asp:Menu>
答案 0 :(得分:0)
我的回答纯粹是理论上的,所以你可能希望支持那些愿意为你做腿部工作的人。
可以使用CSS控制悬停样式。可以编写CSS以确保即使用户将鼠标悬停在主菜单项上也隐藏子菜单项,然后在用户单击菜单项时使用JavaScript动态更改CSS类。
请记住,单击菜单项可能会导致回发,您可能需要显示/隐藏服务器代码中的子菜单...
此外,您需要考虑可能需要再次使用onClick事件手动隐藏子菜单。
最后,您可能希望不考虑使用ASP菜单,因为它被设计用作悬停菜单。您可能最好编写自己的实现,具体取决于您是否真的需要ASP菜单功能。网上有很多好菜单的例子,所以你可能会发现一个可以更轻松地完成你所需要的菜单。 ASP.NET TreeView控件可以为您提供更接近的起点。
Google快速推出以下博客,可能是您正在寻找的内容:
http://msd-bml.blogspot.com/2008/09/aspnet-menu-click-instead-of-hover.html