nous montrons une boîte sur l'écran que je veux cacher quand l'utilisateur clique n'importe où sur l'écran, y compris le corps, les ancres, les divs, les boutons, etc ... Y at-il un sélecteur qui peut manipuler ceci pour moi? Ou est-ce un cas de $('body, a, div, input').click()
?jQuery click() événement catch-all?
10
A
Répondre
22
Vous pouvez le faire comme ceci:
$(document).click(function() {
$("#boxID").hide();
});
Depuis les événements click
, par défaut, bubble up-document
, ceci est une approche « fourre-tout » ... si vous ne voulez pas de clics intérieur la boîte pour la fermer, ajoutez un appel .stopPropagation()
sur cesclick
événements comme celui-ci:
$("#boxID").click(function(e) {
e.stopPropagation();
});
0
Vous pouvez simplement lier à l'événement click de l'élément document. Essayez-le au http://jsfiddle.net/ZqEbY/.