@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();
        }
});

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

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

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