@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 может быть?
  • Вопрос задан
  • 1364 просмотра
Пригласить эксперта
Ответы на вопрос 2
Ni55aN
@Ni55aN
stopPropagation нужен для того, чтобы событие не распространялось на родительские элементы.

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

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект