2010-05-28 15 views
6

Ich habe ein div innen Form etwas wieJquery- ausblenden div

<form> 
<div> 
showing some information here 
</div> 

<div id="idshow" style="display:none"> 
information here 
</div> 

</form> 

i Bevölkerung Informationen bin innen div (idshow) auf einige Klick-Ereignis-Taste. was ich will, wenn ich krank klicke außerhalb div (idshow), sollte es verstecken. genau wie ich klicke auf Menü dann Menü ist Anzeige und wenn ich außerhalb Menü klicken es geht verstecken. Ich brauche alles mit Jquery

Antwort

11
$(document).click(function(event) { 
    var target = $(event.target); 

    // Check to see if the target is the div. 
    if (!target.is("div#idshow")) { 
    $("div#idshow").hide(); 
    // Prevent default event -- may not need this, try to see 
    return(false); 
    } 
}); 
3

Sie tun können, was Sie so wollen:

$(document).click(function() { 
    $("#idshow").hide(); 
}); 
$("#idshow").click(function(e) { 
    e.stopPropagation(); 
}); 

Was hier passiert, ist, wenn Sie klicken, wird das click Ereignis den ganzen Weg zu document sprudelt, wenn es Dort angekommen verstecken wir die <div>. Wenn Sie innerhalb dieses <div> jedoch klicken, können Sie die Blase davon abhalten, bis zu document zu kommen, indem Sie event.stopPropagation() verwenden ... so das .hide() feuert nicht, kurz und einfach :)

Verwandte Themen