鼠标单击子菜单列表失败

时间:2013-11-12 12:57:38

标签: jquery jquery-ui onclick submenu

我有一个嵌套的列表项,我已将其放在ul li html标签下。我希望用户只通过“鼠标点击”事件沿着所有列表项目行进。

目前,以下代码适用于“鼠标悬停”事件,但不适用于“鼠标点击”事件。 我有未绑定的鼠标悬停事件。

请告诉我如何确保点击事件的相同行为。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>menu demo</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
  <style>
  .ui-menu {
    width: 200px;
  }
  </style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>

<ul id="menu">
  <li><a href="#">Item 1</a></li>
  <li><a href="#">Item 2</a></li>
  <li><a href="#">Item 3 </a>
    <ul>
      <li><a href="#">Item 3-1</a></li>
      <li><a href="#">Item 3-2</a></li>
        <li><a href="#">Item 3-3</a>
            <ul>
                <li><a href="#">Item 3-3-1</a>
                    <ul>
                        <li><a href="#">Item 3-3-1-1</a></li>
                    </ul>
                </li>
                <li><a href="#">Item 3-3-2</a></li>
            </ul>
        </li>
      <li><a href="#">Item 3-4</a></li>
      <li><a href="#">Item 3-5</a></li>
    </ul>
  </li>
  <li><a href="#">Item 4</a></li>
  <li><a href="#">Item 5</a></li>
</ul>

<script>
$("#menu").menu();
$("#menu").unbind('mouseenter mouseleave mouseover mouseout'); // we want to monitor only mouse click events

$("li:has(ul)").click(function () { 
    $(this).parent().menu();
    $(this).parent().unbind('mouseenter mouseleave mouseover mouseout'); 
});
$("li ul li:has(ul)").click(function () {
    $(this).parent().menu();
    $(this).parent().unbind('mouseenter mouseleave mouseover mouseout'); 
});
</script>

</body>
</html>

0 个答案:

没有答案