Montrer div une fois cliqué et masquer en cliquant à l'extérieur de
J'essaie de montrer l' #abonnez-pop div une fois qu'un lien est cliqué, et de le cacher en cliquant n'importe où à l'extérieur. Je peux le faire pour afficher et masquer si je change l':
$('document').click(function() {
À
$('#SomeOtherRandomDiv').click(function() {
HTML:
<div id="footleft">
<a href="#" onclick="toggle_visibility('subscribe-pop');">Click here to show div</a>
<div id="subscribe-pop"><p>my content</p></div>
</div>
Script:
<script type="text/javascript">
function toggle_visibility(id) {
var e = document.getElementById("subscribe-pop");
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
}
$('document').click(function() {
$('#subscribe-pop').hide(); //Hide the menus if visible
});
$('#subscribe-pop').click(function(e){
e.stopPropagation();
});
</script>
OriginalL'auteur rizzledon | 2013-04-24
Vous devez vous connecter pour publier un commentaire.
Vous devez vous arrêter la propagation de l'évènement dans votre conteneur ('footleft' dans ce cas), de sorte que l'élément parent de ne pas remarquer l'événement a été déclenché.
Quelque chose comme ceci:
HTML
JS
Le voir fonctionner ici.
Compris, mais encore à travailler de mon côté, même avec la forme. . Aussi, assurez-vous que votre code html est en ordre. Si cela fonctionne, n'oubliez pas de vérifier que cette réponse est la solution. 🙂
Merci man, mon code html qui a été foiré..
Belle solution, j'ai été à la recherche de ce
OriginalL'auteur Luigi Siri
J'ai l'impression que le demandeur tente d'accomplir un jquery modal type d'affichage d'un div.
Si vous voulez vérifier ce lien, la page à charger modal affiche un div qui fait tourner votre regard vers le centre de l'écran, car il diminue l'arrière-plan.
De plus, j'ai compilé une courte jsFiddle pour vous de vérifier. si vous êtes autorisé à utiliser jquery avec vos exigences, vous pouvez aussi consulter leur site.
Voici le code pour afficher ou masquer votre pop-up div
OriginalL'auteur KevinIsNowOnline
Changer
$(document).click()
à$('html').click()
devrait résoudre le problème principal.Deuxièmement, vous n'avez pas besoin de la
toggle_visibility()
fonction, vous pouvez tout simplement faire:Ref: modification de la
body
àhtml
que par cette réponse: Comment puis-je détecter un clic à l'extérieur d'un élément?OriginalL'auteur techfoobar