2011-09-19 139 views
0

我有一個asp:菜單,我有例如3菜單項:第一個第二個第三個和第二個項目有2個子菜單​​項,我只想顯示2個子菜單​​時,只有當我點擊在第二個菜單項上不是當我將鼠標懸停在上面時。我把代碼在這裏,菜單ASP:菜單我只需要點擊顯示子菜單項

<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

入住這 [http://stackoverflow.com/questions/7468938/asp -net菜單 - 控制 - 與 - 點擊事件代替-的懸停] [1] [1]:http://stackoverflow.com/questions/7468938/asp-net-menu-控制與點擊事件,INSTEAD-OF-懸停 –

回答

0

我的回答是純理論的,所以你不妨堅持要有人願意爲你做跑腿的活兒。

可以使用CSS控制懸停樣式。即使用戶將鼠標懸停在主菜單項上,也可以編寫CSS以確保隱藏子菜單項,然後在用戶單擊菜單項時用JavaScript動態更改CSS類。

銘記點擊菜單項就可以進行回傳,則可能需要顯示/隱藏在服務器代碼中的子菜單...

此外,你需要考慮你可能需要隱藏子菜單再次手動使用onClick事件。

最後,您不妨考慮不要使用ASP菜單,因爲它被設計爲用作懸停菜單。根據您是否真的需要ASP菜單功能,您可能會更好地編寫自己的實現。網上有很多好菜單的例子,所以你可能會發現一個更容易做你正在尋找的東西。 ASP.NET TreeView控件可能會爲您提供更加緊密的起點。

快速谷歌拋出了下面的博客,可能是你在找什麼:

http://msd-bml.blogspot.com/2008/09/aspnet-menu-click-instead-of-hover.html