Como executar JavaScript após requisição no HTMX?
Neste artigo você aprenderá a como executar JavaScript após requisição no HTMX, ou seja, após uma chamada assíncrona (AJAX)

Fala programador(a), beleza? Bora aprender mais sobre HTMX!
Antes de seguir com o artigo, não deixe de conferir nosso curso completo de HTMX!

Um desafio comum com HTMX é como acionar código JavaScript após uma solicitação AJAX realizada pelo HTMX.
Isso se torna crucial quando você precisa inicializar componentes dinâmicos, como um editor WYSIWYG, que são carregados ou alterados como resultado de uma ação do usuário.
Neste artigo, vamos explorar como integrar JavaScript de forma eficaz após solicitações AJAX do HTMX, garantindo que seus componentes dinâmicos funcionem perfeitamente.
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O Desafio
Imagine que você esteja trabalhando em uma funcionalidade onde um botão, ao ser clicado, faz uma solicitação HTMX que substitui uma div no DOM.
Essa nova div deve conter um editor WYSIWYG que necessita ser inicializado por meio de JavaScript.
A questão é: como garantir que o script de inicialização seja executado após a conclusão da solicitação HTMX, especialmente considerando que injetar tags de script diretamente no HTML pode não ser a prática mais elegante ou recomendada?
Solução Estratégica
Abordagem de Eventos HTMX
Para solucionar esse desafio, você pode se aproveitar dos eventos disparados pelo HTMX.

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →O evento htmx:afterRequest é particularmente útil, pois é acionado após a conclusão de qualquer solicitação HTMX.
Escutar esse evento permite executar código JavaScript específico em resposta, como a inicialização de um editor WYSIWYG.
document.addEventListener('htmx:afterRequest', function() {
// Aqui vai o código JavaScript para inicializar o componente
// Por exemplo, inicialização de um editor WYSIWYG
});
Execução Condicional
Em cenários onde é necessário executar scripts apenas após solicitações específicas, você pode analisar o objeto de evento fornecido pelo HTMX para determinar se a ação desejada deve ser realizada.
document.addEventListener('htmx:afterRequest', function(evt) {
if(evt.detail.target.id == 'editor-div') {
// Substitua 'editor-div' pelo ID da `div` alvo
// Inicialize o editor WYSIWYG aqui
}
});
Aprimoramento com htmx:afterSettle
Para cenários em que o DOM pode não estar totalmente atualizado no momento em que htmx:afterRequest é acionado, considerar o uso de htmx:afterSettle pode ser mais apropriado.

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Este evento é disparado após o HTMX ter concluído todas as alterações no DOM, garantindo que o componente alvo esteja presente e pronto para ser manipulado.
document.addEventListener('htmx:afterSettle', function(evt) {
if (evt.detail.target.id == 'editor-div') {
// Ideal para inicializar componentes que dependem da estrutura DOM atualizada
}
});
Considerações Finais
A integração efetiva de JavaScript com HTMX requer uma compreensão dos eventos disponíveis e como eles podem ser utilizados para acionar a execução de scripts em momentos precisos.
Ao utilizar htmx:afterRequest ou htmx:afterSettle, desenvolvedores podem garantir que componentes dinâmicos, como editores WYSIWYG, sejam inicializados corretamente após as solicitações HTMX, mantendo a interatividade e a usabilidade da aplicação.
Lembrando que, para que estas soluções funcionem eficazmente, é essencial que o código esteja presente na página antes da ocorrência do evento HTMX desejado.
Isso pode ser feito incluindo o script diretamente no template HTML ou como um arquivo JavaScript estático referenciado na sua aplicação Django.
Ao adotar estas práticas, você assegura que sua aplicação web não só mantém uma arquitetura limpa e organizada, mas também oferece uma experiência de usuário fluida e dinâmica, livre de problemas de inicialização de componentes após solicitações AJAX.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares
As diferenças de var, let e const
Neste artigo veremos quais são as diferenças nestas três formas de declarar valores, e também casos de uso para var, let e const. Este conteúdo […]

Como redirecionar para outra página com JavaScript
Neste artigo vamos aprender como redirecionar para outra página com JavaScript, sem utilizar libs como jQuery, de uma maneira simples e efetiva. Fala programador(a), tudo […]
Exercícios de lógica de programação JavaScript com gabarito
Pratique lógica com JavaScript resolvendo um exercício antes de abrir o gabarito. Execute o código, teste uma entrada comum e um caso de borda, como […]

Agora tudo já esta entendido