@faleaksey

Как не повторять данный скрипт несколько раз?

Доброго дня! вопрос в следующем: имеется модуль:
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) );
				
			}


он работает следующим образом: при клике на кнопку корзины он открывает/скрывает корзину, а так же скрывыет её при клике вне области корзины...
собираюсь использовать эту реализацию и в других компонентах, таких как выпадающее меню и выпадающий поиск...
Вопрос: как лучше реализовать данный скрипт да бы не копипастить его в каждый модуль? я так понимаю нужно создать вспомогательную функцию и уже её вставлять в каждый из компонентов?
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsepen
@tsepen
Frontend developer
Вынести функцию в отдельный файл и импортировать где нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы