Как при клике на элемент или на детей этого элемента выполнять функцию?

введите сюда описание изображения

const popup = $('.popup')
document.onclick = function (e) {
    console.log(event.target);
    console.log(e.target.classList == 'popup__content')
    /* console.log(event.target == 'popup__content');
    popup.on('click', function (e) {
        console.log(event.target);
        // if (e.target) {
            
        // }
        // popup.addClass('hide-popup')
    })
    if (!(e.target.classList[0] == 'popup__content') && !(popup.hasClass('hide-popup'))) {
        popup.addClass('hide-popup')
    }
    if (e.target.localName === 'button') {
        popup.removeClass('hide-popup')
    } */
};

Ответы (1 шт):

Автор решения: fixer

Используйте contains() для проверки на вложенность.

const popup = document.querySelector(".popup");
document.onclick = function (e) {
    console.log(popup.contains(e.target));
};

Методы contains и compareDocumentPosition

→ Ссылка