0

我有一个 System.Web.UI.WebControls.Menu,当您单击顶层时它会被关闭。

请参阅截屏视频http://www.screencast.com/t/puCmErPVp

我不希望它在被点击时被解雇。我希望菜单保持下来。

菜单项由站点地图填充。

Menu 对象上有什么东西可以用来获得这种行为吗?也许我可以使用一些 javascript 或 CSS 来防止它消失?

4

2 回答 2

0

我用一些Javascript修复了它。

基本上,之前发生的事情是将 document.body.onclick 设置为 Menu_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>
于 2011-08-04T13:27:09.483 回答
0

似乎您有与 asp:menu 一起使用的第三方组件,如果是,您需要其源代码来修改悬停动作<li>,如果没有,则有一些客户端 javascripts 或 css 样式,您可以修改它们。

于 2011-08-02T20:05:58.713 回答