@Neolq

Как убрать клик по дочернему элементу?

При клике на одну из карточек, вызывается popup. В карточках есть кнопка, нужно что бы при клике на неё, открытие popup не срабатывало. Не могу понять что не так со скриптом.
https://jsfiddle.net/p2yrcduL/1/
const popupRecommended = document.querySelector('.recommended__popup')
const cardRecommended = document.querySelectorAll('.recommended__card')
const favoriteBtn = document.querySelectorAll('.favorite-btn')

cardRecommended.forEach((cards) => {
   cards.addEventListener('click', function (e) {
      favoriteBtn.forEach((el) => {
         if (!popupRecommended.classList.contains('-open') && !el.contains(e.target)) {
            popupRecommended.classList.add('-open')
            document.body.classList.add('-lock')
         }
      })
   })
})
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
XanXanXan
@XanXanXan
cardRecommended.forEach((card) => {
  card.addEventListener('click', (e) => {
    if (popupRecommended.classList.contains('-open') || e.target.classList.contains('favorite-btn')) return;
    popupRecommended.classList.add('-open');
    document.body.classList.add('-lock');
  })
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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