@pilolin
HTML программист

Как открыть модальное окно при клике на элемент созданного через append?

Давно избитая тема про не рабочие кнопки созданные с помощью append. Вопрос немного другой. Имеется карточки которые подгружаются через ajax и вставляются append'ом. При клике на них открывается модальное окно. Скрипты открытия / закрытия ниже.
let overlay = $('.overlay-form'),
        openModal = $('.modal-open'),
        notClose = $('.m .m-wrap .m-wrap-window, .object-item-wrap'),
        modal = $('.m');

$(document).on('click', '.modal-open', function(e){
        e.preventDefault();
        modal.attr('style', '');
        let targetModalForm = '#' + $(this).data('target');
        overlay.fadeIn(250);
        $(targetModalForm).fadeIn(250).addClass('m_visible_visible');
        $('body').addClass('active-modal');
        constructModal(e.currentTarget.parentElement.dataset.idApartment);
});
$(document).click( function(e){
        if (!notClose.is(e.target) && notClose.has(e.target).length === 0) {
                modal.fadeOut(250);
                overlay.fadeOut(250);
                $('body').removeClass('active-modal');
                destructModal();
        }
});

В моем случае модалка открывается и тут же закрывается, а это можно исправить?
  • Вопрос задан
  • 306 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
есть подозрение что выполняется закрытие по клику из последнего евента, вбейте туда консоле лог и проверьте, скорее всего не срабатывает условие исключения, то есть ловятся не те элементы которые вы думаете.
Ответ написан
Ваш ответ на вопрос

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

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