我有一个asp:菜单,我有例如3 menuItem:第一,第二,第三和第二项有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>
我的回答纯粹是理论上的,所以你可能希望有人愿意为你做跑腿的工作。
悬停样式可以用CSS控制。可以编写CSS来确保子菜单项隐藏,即使用户将鼠标悬停在主菜单项上,然后在用户单击菜单项时使用JavaScript动态更改CSS类。
请记住,单击菜单项可能会导致回发,您可能需要在服务器代码中显示/隐藏子菜单…
另外,您需要考虑您可能需要再次使用onClick事件手动隐藏子菜单。
最后,您可能希望考虑不使用ASP菜单,因为它被设计为用作悬停菜单。您最好编写自己的实现,这取决于您是否真的需要ASP Menu功能。网上有很多好的菜单的例子,所以你可能会找到一个做你想要的更容易。ASP。. NET TreeView控件可以为您提供一个更接近的起点。
快速搜索出以下博客,可能就是你要找的:
http://msd-bml.blogspot.com/2008/09/aspnet-menu-click-instead-of-hover.html