2010-07-06 4 views
3

Je veux cacher un div quand on clique sur un document mais je ne veux pas cacher ce div quand quelqu'un clique dedans ou clique sur un lien ou un bouton dedans. Aussi, j'ai quelques liens à l'intérieur de cet ensemble div pour empêcher l'action de clic (return false;) et envoyer une requête ajax.Cacher lorsqu'on clique sur un document sauf quand on clique sur un div

J'ai essayé:

$(document).click(function(e) { 
     $('#bubble').hide(); 
}); 

$('#bubble').click(function(e) { 
    return false; 
}); 

Il fonctionne très bien, mais les liens et les boutons sous la #bubble ne fonctionne pas.

+0

pourquoi ne pas travailler? http://jsbin.com/uwane – galambalazs

Répondre

5

Au lieu de return false; utilisation event.stopPropagation() comme ceci:

$('#bubble').click(function(e) { 
    e.stopPropagation(); 
}); 

Cela arrête l'événement click de bouillonnement jusqu'à document comme vous voulez, mais ne tue pas l'événement mort dans ses pistes comme return false; volonté. Tout ce que vous devez faire dans ce cas est d'empêcher le default bubbling behavior, cela fait seulement que :)

Questions connexes