Asp.net 如何防止asp:菜单在单击时关闭

Asp.net 如何防止asp:菜单在单击时关闭,asp.net,menu,dismiss,Asp.net,Menu,Dismiss,我有一个System.Web.UI.WebControls.Menu,当您单击顶层时,它将被取消 请看电影放映 我不希望它被点击时被驳回。我要把菜单放下 菜单项由站点地图填充 菜单对象上是否有我可以用来获取此行为的内容?也许我可以使用一些javascript或CSS来防止它消失?似乎您有第三方组件与asp:menu一起使用,如果是,您需要其源代码来修改的悬停动作,如果不是,则有一些客户端Java脚本或CSS样式,你可以修改它们。我用一些Javascript修复了它 基本上,之前发生的是docum

我有一个System.Web.UI.WebControls.Menu,当您单击顶层时,它将被取消

请看电影放映

我不希望它被点击时被驳回。我要把菜单放下

菜单项由站点地图填充


菜单对象上是否有我可以用来获取此行为的内容?也许我可以使用一些javascript或CSS来防止它消失?

似乎您有第三方组件与asp:menu一起使用,如果是,您需要其源代码来修改
  • 的悬停动作,如果不是,则有一些客户端Java脚本或CSS样式,你可以修改它们。

    我用一些Javascript修复了它

    基本上,之前发生的是document.body.onclick被设置为Menu\u HideItems。我更改了它,以便document.body.onclick调用我自己的函数,并在隐藏菜单项之前检查您单击的内容

    <script type="text/javascript" language="javascript">
    
      function HideMenuOnClick(item) {
      var target;
         if (item.target) {
            target = item.target;
         }
         else if (item.srcElement) {
            target = item.srcElement;
         }
    
         if (target.className.indexOf("StaticMenuItemStyle") == -1) 
         {
            Menu_HideItems(item);
         }
         else
         {
            return false;
         }
      }
    
      document.body.onclick = HideMenuOnClick;
    </script>
    
    
    功能隐藏单击(项目){
    var目标;
    如果(项目目标){
    target=item.target;
    }
    else if(item.src元素){
    target=item.src元素;
    }
    if(target.className.indexOf(“StaticMenuItemStyle”)=-1)
    {
    菜单隐藏项(项目);
    }
    其他的
    {
    返回false;
    }
    }
    document.body.onclick=HideMenuOnClick;