Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Виджет menu скрыть меню при потере фокуса (https://javascript.ru/forum/jquery/35369-vidzhet-menu-skryt-menyu-pri-potere-fokusa.html)

Telnet 08.02.2013 22:56

Виджет menu скрыть меню при потере фокуса
 
Вот в принципе стандартный код элемента этого виджета, ни как не могу понять как сделать так что б при событии blur потеря фокуса открытое меню сразу исчезало
<!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.0/themes/base/jquery-ui.css">
  <style>
  .ui-menu {
    width: 200px;
  }
  </style>
  <script src="http://code.jquery.com/jquery-1.9.0.js"></script>
  <script src="http://code.jquery.com/ui/1.10.0/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></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();
</script>
 
</body>
</html>

http://api.jqueryui.com/menu/#entry-examples

Там есть событие blur но мне кажется что срабатывает оно при потере фокуса, элемента первого уровня, если ставить обработку на нем, то вложенное меню открывается но как только я выхожу за пределы элемента первого уровня сразу же сворачивается и второе

CiliZ 09.02.2013 20:28

$('#menu ul').mouseleave(function(){$(this).fadeOut()})

Deff 10.02.2013 05:23

<a id=a href='#' onclick="return false" style="display:block" onblur="this.style.display='none';">
   <div style="border:1px solid red;width:200px;height:100px;" ><img id=b src="http://javascript.ru//forum/images/editor/js2.gif" width="18" height="18" onload="document.getElementById('a').focus()"/></div>
</a>
<br />
<a href='#' onclick='return false'>Клик </a>


Часовой пояс GMT +3, время: 01:37.