jQuery cliquez sur élément d'événement
J'ai un div flottante qui s'affiche, et je veux qu'il soit masqué lorsque l'utilisateur clique hors de la div. Ce serait semblable à la .hover() la fonction de rappel lorsque vous vous déplacez d'un élément. Seulement, je veux faire ce pour cliquez.
J'ai essayé de simplement définir un événement click pour le corps, ce qui permettrait de cacher la div, mais qui a donné des résultats inattendus.
Quelqu'un a des idées sur comment je pourrais facilement faire cela?
- Veuillez donner des détails sur "qui a donné des résultats inattendus".
Vous devez vous connecter pour publier un commentaire.
Un autre, éventuellement plus simple, l'option serait d'ajouter un transparent div entre la DIV flottante et le reste de la page.
Un simple événement de clic sur le transparent DIV pourrait manipuler le cacher, et elle permettrait d'éviter les problèmes que vous rencontrez avec le clic de l'événement.
Si vous voulez effacer la div lorsque vous cliquez ailleurs dans la page, vous pouvez faire quelque chose comme:
.length
pour?Si vous utilisez Jquery, vous pouvez utiliser un sélecteur comme:
Sûrement, vous êtes à la recherche pour le flou événement?
blur
événement ne fonctionne que pour les éléments de formulaire, le demandeur était probablement à la recherche de quelque chose de similaire pour les non-éléments de formulaire.$(".modal_div").live("blur", function(){$(this).hide();});
La Meilleure façon de le faire est:-
Cela a fonctionné pour moi,
exemple vous cliquez sur un élément de lien pour afficher la div menu , il vous suffit de lier le flou de la fonction de liaison de l'élément à masquer div menu
C'est une fonction pour gérer le clic de l'événement, je le nourrir le sélecteur de la pop-up, et le jquery élément. Probablement mieux servis par un plugin jquery, mais c'est assez simple.
Donc si vous avez un popup élément comme
<div class='popup'>test</div>
vous pouvez utiliser ma fonction commeclickOut("div.popup", $("div.popup"));
Cela peut être utilisé pour vérifier si la div est visible, s'il est visible, il sera puis faites glisser l'objet vers le haut.
Voici un véritable événement de l'approche axée sur la
Zee code:
C'est beaucoup de code, je sais, mais ici juste pour montrer une approche différente.
Vous pouvez essayer cette.
http://benalman.com/projects/jquery-clickoutside-plugin/
À l'aide d'un gestionnaire d'événement sur le document qui fonctionne bien pour moi:
J'ai trouvé la solution sur un forum... mais je ne trouve pas de retour au crédit à l'origine de l'auteur.
Voici la version modifiée qui vit dans mon code).
J'ai aussi des ESC keyup liaisons et un "proche" d'ancrage html pas sur la photo ci-dessus.
Si vous ne voulez pas masquer l'élément qui vous permettra d'afficher en cliquant sur lui-même:
Vous allez avoir besoin de surveiller la
mouseDown
événement pour l'ensemble de la page, mais vous aurez à prendre note lorsque l'utilisateur clique à l'intérieur de votre div flottante.Je suggère l'ajout d'une info-événement à votre div flottant ainsi, lorsque l'utilisateur est assis sur elle,
mouseDown
est pas prise en compte, mais quand il n'est pas planait surmouseDown
allait fermer, il