2012-05-27 26 views
8

estoy haciendo una entrada de búsqueda en el enfoque que muestra un div con opciones con las siguientes:cómo ocultar div con jquery al hacer clic en cualquier lugar excepto en un div?

$("#search").focus(function(){ 

$("#options").fadeIn("fast"); 

}); 

que estoy ocultando el div de vuelta con esta función

$("#search").blur(function(){ 

$("#options").fadeOut("fast"); 

}); 

ahora el problema es incluso cuando el usuario hace clic en cualquier casilla de verificación en #option se esconde. ¿Cómo puedo evitar que se oculte al hacer clic en las casillas de verificación?

+0

i missed); en ambas funciones discúlpeme – danny

+0

proporcione el marcado html. –

+0

Esta pregunta ya ha sido respondida en http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element. Tiene allí varias soluciones posibles para abordar su problema. – Pierre

Respuesta

3
$("#search").blur(function(e){ 
    e.stopPropagation() 
    $("#options").fadeOut("fast"); 
}); 
+0

$ (this) .children ('input [type = checkbox]'). On ('click', function() {e.stopPropagation();}); // ¿No está esto perdido en el oyente de desenfoque? – mtizziani

Cuestiones relacionadas