J'ai un div que je veux masquer lorsque je clique dessus.Problème de clic sur le corps jQuery
Cela fonctionne presque, sauf que la classe de bouton change seulement une fois toutes les deux fois. Je clique sur le bouton, la classe de bouton active est ajoutée et la liste déroulante glisse vers le bas, je clique quelque part en dehors de la liste déroulante, elle glisse vers le haut et la classe de bouton retourne à son état original. MAIS, quand je le répète, la classe de boutons 'isActive' n'est pas ajoutée.
est ici la fonction:
function toggleSelectGroupList(){
$('#groupListSortby').slideToggle(30);
$('body').click(function(){
$('#groupListSortby').click(function(e) { e.stopPropagation(); })
$('#groupListSortby').hide();
$('.sortFriends .btngrey .gfx').toggleClass('isActive');
$('.sortFriends .btngrey a').toggleClass('isActive');
});
}
Markup:
<div class="sortFriends">
<div class="btngrey">
<span class="gfx"></span>
<a onClick="toggleSelectGroupList()">All friends</a>
</div>
<div class="dropdownList" id="groupListSortby">
<ul>
<li class="isActive">
<span class="gfx"></span>
<a href="#">All friends</a>
</li>
<li>
<a href="#">Recently added</a>
</li>
<li class="last">
<a href="#">The Railers</a>
</li>
</ul>
</div>
</div>
Il fonctionne! Un problème cependant, j'ai un champ d'entrée , et en cliquant dessus, le div ne glisse pas? –
@Johan - Je ne suis pas, où est le champ '' à? (et * id * ont un 'return false' ou' stopPropagation () 'en cours de route? –