jQuery cliquez n'importe où dans la page, sauf sur 1 div
Comment puis-je déclencher une fonction lorsque je clique n'importe où sur ma page, sauf sur un div (id=menu_content
) ?
Merci beaucoup
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appliquer
click
surbody
de document et annulerclick
le traitement si laclick
événement est généré par la div avec l'idmenu_content
, Cela aura pour effet de lier l'événement à un seul élément et l'enregistrement de liaison declick
avec tous les éléments à l'exception demenu_content
closest
commence avec l'élément courant, il gère cliquant surmenu_content
, ainsi que de cliquer sur les descendants. Je pense que la deuxièmeif
est tout ce dont vous avez besoin.Consultez la documentation de jQuery Cible de l'Événement. À l'aide de la propriété target de l'objet d'événement, vous pouvez détecter où le clic a été créé par la
#menu_content
élément et, le cas échéant, de résilier le gestionnaire de clic tôt. Vous devrez utiliser.la plus proche()
pour gérer les cas où le clic a son origine dans un descendant de#menu_content
.essayer cette
vous pouvez également utiliser le en dehors des événements
Je sais que cette question a été posée, Et toutes les réponses sont gentils.
Mais je voulais ajouter mon grain de sel à cette question pour les gens qui ont le même (mais pas exactement le même problème.
D'une manière plus générale, nous pouvons faire quelque chose comme ceci:
Cette façon, nous pouvons gérer non seulement les événements déclenchés par quoi que ce soit à l'exception de l'élément avec l'id
menu_content
mais aussi les événements qui sont déclenchés par quoi que ce soit à l'exception de tout élément que l'on peut sélectionner à l'aide de sélecteurs CSS.Par exemple, dans l'extrait de code suivant, je suis les événements déclenchés par un élément quelconque à l'exception de tous
<li>
éléments qui sont les descendants de l'élément div avec l'idmyNavbar
.voici ce que j'ai fait. voulais m'assurer que je pouvais cliquez sur l'un des enfants de mon datepicker sans la fermer.
mon code: