Как выполнить код javascript после того, как htmx сделает ajax-запрос?

В настоящее время я создаю сайт с django и htmx, и мне пока нравится эта комбинация. Допустим, я использую атрибут htmx на кнопке, чтобы заменить div в DOM на другой div, который должен содержать редактор wysiwyg. Теперь редактор wysiwyg должен быть инициализирован с помощью javascript. Как мне это сделать? Могу ли я просто вернуть тег script под div редактора, который запрашивается с помощью htmx? Не будет ли это также немного некрасиво или плохой практикой, потому что у вас будут теги сценариев в середине тела html? Какой лучший способ решения этой проблемы? Заранее спасибо

Проверить HTMX после события запроса.

Это должно выглядеть примерно так

htmx.on('afterRequest', (evt) => {
  // check which element triggered the htmx request. If it's the one you want call the function you need
})

Если вы пытаетесь прослушать только одно событие htmx:afterRequest (или если у вас есть код, который должен выполняться после всех htmx-запросов) тогда вы можете использовать следующий код для запуска вашего Javascript кода после завершения любого успешного запроса:

document.addEventListener('htmx:afterRequest', function() {
    // Put the JS code that you want to run here
});

Если вы хотите, чтобы он запускался только после определенного события, вам нужен доступ к (evt), связанному с этим событием, для чего вам следует обратиться к официальным документам здесь.

Вернуться на верх