У меня есть div, который я хочу скрыть при нажатии за его пределами.
Это почти работает, за исключением того, что класс кнопки меняется только один раз каждые два раза.
Я нажимаю на кнопку, класс активной кнопки добавляется, и раскрывающийся список сдвигается вниз, я нажимаю где-то за пределами раскрывающегося списка, он сдвигается вверх и класс кнопки возвращается в исходное состояние.НО, когда я повторяю это, класс кнопки 'isActive' не добавляется.
Вот функция:
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');
});
}
Разметка:
<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>