1

我正在处理一个具有 ASP 菜单 () 的项目,我无法关闭它。我想要它做的就是在鼠标没有悬停时折叠它。有什么设置或什么可以解决这个问题吗?也许是一个简单的问题,但我到处搜索都没有运气。

我可以很好地展开菜单,当我移动到不同的节点时,它会切换到那个。问题是当我将鼠标移到整个菜单之外时,它保持打开状态。不应该有一些简单的设置吗?我真的必须跳过几圈 javascript 和事件来解决这个问题吗?

4

1 回答 1

0

默认情况下,菜单应在光标离开时立即折叠。剥离所有 css 并用简单的代码对其进行测试。

在此处输入图像描述

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MenuTest.aspx.cs" Inherits="WebApplication2012.MenuTest" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Menu runat="server" DataSourceID="MenuDataSource"></asp:Menu>
        <asp:SiteMapDataSource ID="MenuDataSource" runat="server" ShowStartingNode="false"
            SiteMapProvider="XmlSiteMapProvider" />
    </form>
</body>
</html>

// MenuTest.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="Home" title="Home"  description="Home">
        <siteMapNode url="Monday" title="One"  description="One" >
          <siteMapNode url="Monday - One" title="Monday - One" description="Monday - One" />
          <siteMapNode url="Monday - Two" title="Monday - Two" description="Monday - Two" />
          <siteMapNode url="Monday - Three" title="Monday - Three" description="Monday - Three" />
        </siteMapNode>
        <siteMapNode url="Tuesday" title="Tuesday"  description="Tuesday" />
    </siteMapNode>
</siteMap>

// web.config    
<system.web>
  ...
  <siteMap defaultProvider="XmlSiteMapProvider">
    <providers>
      <add name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/MenuTest.sitemap" />
    </providers>
  </siteMap>
</system.web>
于 2013-02-26T15:47:38.630 回答