2010-09-21 10 views
10

Wir zeigen ein Feld auf dem Bildschirm, das ich ausblenden möchte, wenn der Benutzer irgendwo auf dem Bildschirm klickt, einschließlich Körper, Anker, divs, Schaltflächen usw. Gibt es einen Selektor, der dies für mich behandeln kann? Oder ist es ein Fall von $('body, a, div, input').click()?jQuery click() Ereignis Catch-All?

Antwort

22

Sie können es wie folgt tun:

$(document).click(function() { 
    $("#boxID").hide(); 
}); 

Da die click Ereignisse werden standardmäßig bubble up-document, ist dies ein „catch all“ -Ansatz ... wenn Sie Klicks wollen nicht aus innerhalb das Feld, um es zu schließen, ein .stopPropagation() Anruf auf dieseclick Ereignisse wie folgt hinzu:

$("#boxID").click(function(e) { 
    e.stopPropagation(); 
}); 
Verwandte Themen