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

Для чего в данной функции stopPropagation?

Имеется такой код:
$( '.search-btn-mobile' ).on( 'click', function(event) {
		event.stopPropagation();
		$( '.search-block' ).fadeToggle(900);
		$(this).toggleClass( 'active' );
	});


	$(document).on('click', function(event) {
		if ($(event.target).closest('.search-block').length) return;
		if ($(window).width() < 768) {
			$('.search-block').fadeOut(100);
			$('.search-btn-mobile').removeClass('active');
		}
		event.stopPropagation();
	});


Если в первой функции event.stopPropagation() необходим, иначе произойдёт наложение двух противоположных действий, то для чего он во второй функции? Распространение события идёт на родителя, а что ниже document может быть?
  • Вопрос задан
  • 1378 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Ni55aN
@Ni55aN
stopPropagation нужен для того, чтобы событие не распространялось на родительские элементы.

В данном примере при клике на .search-btn-mobile родительский элемент document (в частном случае) не получит событие клика
Ответ написан
abyrkov
@abyrkov
JavaScripter
Это нужно, наверно, для предовращения "погружения" события - почитайте
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:22
5000 руб./за проект
18 дек. 2024, в 11:57
500 руб./в час