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