2010-09-21 14 views
10

vi mostriamo una scatola sullo schermo che voglio nascondere quando l'utente fa clic su un punto qualsiasi dello schermo, compreso il corpo, ancore, div, bottoni, ecc ... C'è un selettore in grado di gestire questo per me? O è un caso di $('body, a, div, input').click()?jQuery Click() catch-all?

risposta

22

È possibile farlo in questo modo:

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

Dal momento che i click eventi sarà, per impostazione predefinita, bubble up-document, questo è un "catch all" approccio ... se non si vuole clic da all'interno la casella per chiuderla, aggiungere una chiamata .stopPropagation() su quegliclick eventi come questo:

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