Je voudrais masquer un div lorsque l'utilisateur clique n'importe où sur la page en dehors de ce div. Comment puis-je faire cela en utilisant javascript brut ou jQuery?Événement sur un clic partout sur la page en dehors du div spécifique
Répondre
Joindre un événement de clic au document pour cacher la div:
$(document).click(function(e) {
$('#somediv').hide();
});
Joindre un événement click la div pour arrêter clique dessus de se propager au document:
$('#somediv').click(function(e) {
e.stopPropagation();
});
Merci beaucoup! Cela a fonctionné comme je le voulais. – sumek
AFAIK, avec jQuery dans le deuxième gestionnaire d'événements vous avez seulement besoin de "return false"; arrêter la propagation. http://docs.jquery.com/Events/click (près du bas de la page) – scunliffe
@scunliffe - C'est vrai, ils font fondamentalement la même chose. La bonne chose à propos de stopProp est qu'il ne doit pas être la dernière ligne, donc vous pouvez toujours le mettre sur la première ligne pour la lisibilité, par exemple. –
idée d'abord, javascript brut (de this post):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css">
<!--
#mydiv{
background-color: #999999;
height: 100px;
width: 100px;
}
-->
</style>
<script type="text/javascript">
document.onclick=check;
function check(e)
{
var target = (e && e.target) || (event && event.srcElement);
var obj = document.getElementById('mydiv');
if(target!=obj){obj.style.display='none'}
}
</script>
</head>
<body>
<div id="mydiv">my div</div>
</body>
</html>
testé avec IE6 et FireFox3.1, il ne fonctionne pas comme annoncé.
Il vous On dirait que vous voulez un dialogue modal. Ce plugin jQuery http://code.google.com/p/simplemodal/ a l'air d'avoir du potentiel.
Si le div a le focus, vous pouvez attacher à l'événement onblur.
- 1. sur événement clic sur .swf
- 2. Jquery Div Cacher sur clic
- 3. Capture Clic droit sur HTML DIV
- 4. Jquery comment ajouter et supprimer un événement de clic div
- 5. Pouvez-vous forcer un événement de clic de lien hypertexte sur le chargement de page
- 6. Dojo, comment faire événement onclick sur un DIV
- 7. Comment simuler un clic sur l'ancre avec un texte spécifique en utilisant javascript dans GreaseMonkey?
- 8. enfant div de la disparition sur mouseout du parent div
- 9. Comment obtenir div pour charger sur le clic pas quand la page se charge?
- 10. Comment gérer un événement en C# basé sur un clic de cellule dans un DataGridView?
- 11. Problème en chrome, HTML Forme en div sur un div
- 12. Double-clic sur l'événement
- 13. comment faire un clic ou un double clic sur un mot sur une page Web pour déclencher un gestionnaire d'événement?
- 14. Div onblur événement appelé lorsque vous cliquez sur checkbox à l'intérieur div div
- 15. Flex - Eviter un événement de clic sur le conteneur lorsque vous cliquez sur le composant inclus
- 16. Détecter un clic sur un élément externe?
- 17. JQuery $ .post sur un événement soumettre aide
- 18. Comment créer un DIV basé sur la taille du navigateur?
- 19. Xcode: modification du comportement du double-clic sur un fichier
- 20. Joindre un * à mon DIv sur le clic du checkBox dans JQuery
- 21. ASP.NET + ModalPopupExtender + événement de clic
- 22. Java: ignorer un simple clic sur un double clic?
- 23. rafraîchir l'étiquette div sur le clic de l'enregistrement de suppression
- 24. Comment détecter un événement de clic sur une superposition de Google Maps PolyLine?
- 25. Validation des résultats d'événement dans la perte d'un clic sur un événement dans Winforms
- 26. Afficher/masquer div on click en utilisant jQuery pour créer un "menu clic"
- 27. jQuery plugin pour afficher le contenu d'un div spécifique sur une page externe?
- 28. Comment réduire la forme d'un clic sur un contrôle webbrowser
- 29. Validation d'un événement de clic sur un bouton en utilisant JS depuis l'intérieur d'ascx imbriqué dans le panneau d'affichage
- 30. Jquery: Mettre en surbrillance/Dégager la ligne du tableau sur le clic
Je pense que le jQuery focusout() - Event résoudra votre problème. –