Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

413
Visualizações
Usando múltiples eventos personalizados como activadores en HTMX, ¿puedo identificar cuál de los activadores se está utilizando?

Estoy usando HTMX en mi proyecto Django para cambiar elementos en un formulario dependiendo de las selecciones anteriores. En algún momento uso un evento personalizado y lo escucho como se indica en la solución 3 aquí: https://htmx.org/examples/update-other-content/

Todo funciona como se esperaba, también cuando se usan dos disparadores separados por una coma.

Sin embargo, me gustaría pasar un encabezado, cuyo valor depende del evento que se use como disparador. Trigger foo -> encabezado A, barra de activación -> encabezado B. A continuación hay un código que debería ayudar a comprender.

 <div hx-get="{% url 'someurl' %}" hx-trigger="foo from:body, bar from:body" hx-target="#sometarget" hx-swap="outerHTML" hx-headers='{"someheader":"foo_value"}' OR '{"someheader":"bar_value"}'>

Hasta ahora, he intentado:

  • poner target.value como valor de encabezado (puede usarlo como filtro de activación, así que pensé que también podría funcionar en encabezados hx)
  • Pasar encabezados o variables de contexto en la vista que hace que se active el disparador, de modo que luego pueda usar el {% si %} de Django en la plantilla. Pero no llegan aquí porque esa vista representa una parte diferente de la plantilla, y esto solo se activa porque escucha el evento en el cuerpo debido al burbujeo del evento.

¿Alguna sugerencia?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

HTMX proporciona el evento htmx:configRequest , donde podemos inspeccionar y modificar la carga útil antes de que HTMX envíe la solicitud. El evento desencadenante se encuentra en la propiedad evt.detail.triggeringEvent.type , el objeto de encabezado está en evt.detail.headers . Entonces, podemos agregar un encabezado personalizado según el evento desencadenante al incluir el siguiente fragmento de código JS en la página específica:

 <script> document.body.addEventListener('htmx:configRequest', (evt) => { if (evt.detail.triggeringEvent.type === 'foo') { evt.detail.headers['someheader'] = 'foo_value' } if (evt.detail.triggeringEvent.type === 'bar') { evt.detail.headers['someheader'] = 'bar_value' } }) </script>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda