Всем доброго дня! имеется следующий код:
if($('.minicart-side1').length){
$('.minicart-link1').on('click',function(e){
e.preventDefault();
e.stopPropagation();
if($('.minicart-side1').hasClass("open")){
$('.minicart-side1').removeClass("open");
}else{
$('.minicart-side1').addClass("open");
}
});
$('body').on('click', $.proxy( function(e){
var element = $(e.target);
if($('.minicart-side1').length && $('.minicart-side1').hasClass('open')){
if(!element.is('.minicart-side1') && element.parents('.minicart-side1').length === 0 )
{
$('.minicart-side1').removeClass('open');
}
}
}, this) );
}
всё работает ровно до того момента, пока не кликаю по похожему компоненту с таким же кодом... то есть при клике вне компонента и кнопки меню скрывается, и при клике на кнопку этого же компонента так же срабатывает, Но при клике на другой компонент с такой же реализацией(скажем 2 dropdown) классы не удаляются... вот реализация в песочнице
jsfiddle.net/dm4p9cL5