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

На элементе два раза висит обработчик «click», нужно сделать чтобы был один, и определить в ней по какому элементу был клик?

Сейчас есть две функции. Одна отвечает за "лайк" элемента, другая за удаление этого элемента:

// функция удаления карточки
const cardDelete = function(event) {
    if (event.target.classList.contains('place-card__delete-icon')) {
        const eventTarget = event.target;
        const deleteCard = eventTarget.closest('.place-card');
        deleteCard.parentNode.removeChild(deleteCard);
    }
};

//like
const cardLike = function(event) {
   if (event.target.classList.contains('place-card__like-icon',)) {
    event.target.classList.toggle('place-card__like-icon_liked');
   }
  };


И есть 2 слушателя:
placesList.addEventListener('click', cardDelete); // удалить карточку
placesList.addEventListener('click', cardLike); //like


которые висят на placecList. Как сделать это один раз, а в функции определить по какому
элементу был клик?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
wapster92
@wapster92 Куратор тега JavaScript
placesList.addEventListener('click', function(event) {
  cardDelete(event);
  cardLike(event);
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Prog-Time
$(document).on('click', function(e) {console.log(e.target)});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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