2011-01-10 38 views
5

estoy tratando de ocultar los elementos del menú secundario (UL) cuando perdió centrarse .. mi estructura se ve algo como estoOcultar ul cuando pierde el foco en 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> 

En jQuery que he utilizado focusOut evento para manejar el foco perdido.

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

Pero el código anterior no funciona. ¿Alguien puede recomendar una forma de manejar el evento de foco perdido en el ul?

+1

caso el uso de desenfoque en lugar de focusOut –

Respuesta

5

Trate .hover() evento en jQuery

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

Funciona gracias de nuevo :) Rahul ... – Roylee

3

que parecen estar buscando el mouseout y encima del ratón eventos, en lugar del evento focusOut.

4

elementos distintos de input (y textarea) tienen ninguna nativa (por lo que yo sepa, aunque dejar comentarios si estoy equivocado!) O focusblur eventos (que están diseñados para responder a la entrada de usuario, en lugar de ratón posición-eventos; aunque los a elementos dentro los diversos ul y li elementos pueden centrarse, y ese evento podría propagarse, aunque sospecho que el evento focusout no lo hará).

Puede utilizar hover() sin embargo:

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