jQuery click () événement fourre-tout?
-
04-10-2019 - |
Question
nous montrons une boîte à l'écran que je veux cacher lorsque l'utilisateur clique partout sur l'écran, y compris le corps, les ancres, divs, boutons, etc ... Y at-il un sélecteur qui peut gérer ça pour moi? Ou est-ce un cas de $('body, a, div, input').click()
?
La solution
Vous pouvez le faire comme ceci:
$(document).click(function() {
$("#boxID").hide();
});
Depuis les événements click
, par défaut, bulle à document
, c'est un « fourre-tout » approche ... si vous ne voulez pas de clics dans la boîte pour la fermer, ajoutez un .stopPropagation()
appel à les événements click
comme ceci:
$("#boxID").click(function(e) {
e.stopPropagation();
});
Autres conseils
Vous pouvez simplement lier à l'événement de clic de l'élément de document. Essayez-le à http://jsfiddle.net/ZqEbY/ .
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow