2011-01-10 10 views
5

próbuję ukryć elementy menu sub (UL), kiedy to stracił skupić .. moja struktura wygląda takUkryj ul kiedy stracił ostrość w JQuery

  <div id="ActionDiv" style="border-color: #0099d4; width: 120px; height: 100%"> 
       <ul> 
        <li><a href="#"><span id="ActionHeader">Action &nbsp; <em> 
         <img src="images/zonebar-downarrow.png" alt="dropdown" /> 
        </em></span></a> 
         <ul> 
          <li><a href="javascript:TriggerAction(1)">Send Email</a></li> 
          <li><a href="javascript:TriggerAction(1)">Invite to chat</a></li> 
          <li><a href="javascript:TriggerAction(1)">Consider For Opp</a></li> 
         </ul> 
        </li> 
       </ul> 
      </div> 

w jQuery Użyłem focusOut imprezy do obsługi utraconego fokusa.

$("#ActionDiv>ul>li>ul").focusout(function() { 
      $("#ActionDiv>ul>li>ul").hide(); 
}); 

Ale powyższy kod nie działa. Czy ktoś może polecić sposób na zagubienie fokusówki w ul.

+1

stosowanie rozmycia zdarzenie zamiast focusOut –

Odpowiedz

5

Spróbuj .hover() zdarzenie w jQuery

$("#ActionDiv>ul>li>ul").hover(function() { 
     $("#ActionDiv>ul>li>ul").show(); 
    }, 
    function(){ 
     $("#ActionDiv>ul>li>ul").hide(); 
}); 
+0

To działa :) dzięki znowu Rahul ... – Roylee

3

wydają się być szukasz odsunięciu myszy i mouseover wydarzeń, zamiast focusOut imprezy.

4

elementy inne niż input (i textarea) mieć Brak natywnego (o ile jestem świadomy, chociaż zostawić komentarz, jeśli się mylę!) focus lub blur zdarzenia (są one zaprojektowane w odpowiedzi na wejście użytkownika, zamiast myszy-position-wydarzenia; aczkolwiek w a elementów ciągu różne ul i li elementy może być skupionym, a to wydarzenie może się rozprzestrzeniać, chociaż podejrzewam, że zdarzenie nie będzie miało miejsca).

Można użyć hover() choć:

$('#elementID').hover(
function(){ 
    // mouse-over 
}, 
function(){ 
    // mouse-out 
});