Задать вопрос
@GaserV

Как закрыть дропдаун при клике в любом месте кроме него?

Привет всем! Подскажите, как закрыть дропдаун, если кликнул в любом месте, кроме него?
  • Вопрос задан
  • 467 просмотров
Подписаться 1 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
ksider
@ksider
Я сварщик не настоящий
$('[data-dropdown]').on('click', (e) => {
    let dropdown = $(e.currentTarget).data('dropdown');
$("body").append('<div id="body"></div>');
    $(`#${dropdown}`).addClass('active');
  })

$(document).on("click", "#body", function(event){
    $("#body").remove();
   $('.dropdown').removeClass('active');
});
Ответ написан
@GaserV Автор вопроса
Вообщем вот решение. Возможно пригодится кому.
$('[data-dropdown]').on('click', (e) => {
		let dropdown = $(e.currentTarget).data('dropdown');

		$(`#${dropdown}`).addClass('active');
	})

	$('body').on('click', (e) => {

	if ( $(e.target).closest('.dropdown, [data-dropdown]').length == 0 ) {
		$('.dropdown').removeClass('active')
	}
	
	})
Ответ написан
Комментировать
Revencu
@Revencu
Добавьте атрибут tabindex="0" и закройте dropdown в event ONBLUR
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы