Cheizer
@Cheizer

Как запретить клик на JS, для элементов без нужного класса?

Друзья, есть три класса, для них нужно разрешить по умолчанию клик по тегу A, а для всех остальных у которых нет этих трех классов, запретить, вот пример но он работает в обратном направлении, запрещает клик для элементов с этими тремя классами. Вопрос, а как сделать НАОБОРОТ?
$('.swiper-slide-next a, .swiper-slide-active a, .swiper-slide-prev a').on('click touchstart', function (e) {
            e.preventDefault();
          return false;
        });
  • Вопрос задан
  • 5364 просмотра
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
Можно выделить все теги и запретить всем, и в обработчике указать, кому можно.
Код
$('a').on('click touchstart', function (e) {
	let el = e.target;
	while (true) {
		el = el.parentNode;
		if (!el) break;
		if (el.classList
			&& (el.classList.contains('swiper-slide-next')
				|| el.classList.contains('swiper-slide-active')
				|| el.classList.contains('swiper-slide-prev')
			)
		) return;
	}
	e.preventDefault();
	return false;
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Digiport
@Digiport
PHP рулит
Предполагаю, что так:
$(':not(.swiper-slide-next a), :not(.swiper-slide-active a), :not(.swiper-slide-prev a)').on('click touchstart', function (e) {
            e.preventDefault();
          return false;
        });
Ответ написан
Ваш ответ на вопрос

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

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