Symfony Webpack взаимодействует с контентом Ajax, загруженным из модального - PullRequest
0 голосов
/ 18 января 2019

Я только что установил Symfony Webpack Encore на свой проект. Все работает нормально, за исключением всех взаимодействий с новым контентом, загруженным на страницах, таких как Ajax модальный (я использую Bootstrap модальный): модалы загружаются / отображаются правильно, но мой JS не видит, что содержимое моей страницы изменилось.

Это работает следующим образом: мой модальный шаблон уже загружен на мою страницу и скрыт; когда я запрашиваю модальное отображение, он вызывает Ajax-запрос, который извлекает контент, а затем заполняет контент внутри модального шаблона и отображает его на страница

Я использовал классический рендеринг ресурсов с помощью gulp, и он работал отлично, но, поскольку я удалил gulp и использовал Webpack, когда я пытаюсь взаимодействовать с кодом, который мой модал Ajax внедрил в мой HTML, ничего не происходит.

Как будто мой JS-код не видит, что DOM был изменен, и все еще видит модальный шаблон таким, каким он был до вызова Ajax.

Я запускаю событие каждый раз, когда загружается модальное содержимое:

$modal.load(
    url,
    function() {
        dispatchEvent('modalLoaded');

        callback ? window[callback]($modal) : null
    }
);

Я слушаю это событие и пытаюсь взаимодействовать с модальным:

 document.addEventListener('modalLoaded', function (e) {
    // I can see this event is triggered correctly
    // Failed : It always get the html code prior to the Ajax call/Dom changed instead of the new one
    $('#modalContainer').find('h1).html();
});

Если у кого-то есть представление об этом, это может очень помочь;)

...