Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

122
Views
¿Por qué solo un evento de cambio único funciona en el elemento seleccionado en jQuery?

Necesito cambiar el comportamiento de la biblioteca jQuery (selector de rango de fechas), tiene un código como este:

 box.find('.month').off("change").change(function(evt) { dateChanged($(this)); }); box.find('.year').off("change").change(function(evt) { dateChanged($(this)); });

Esos son dos elementos selectos. No devuelve falso y las funciones dentro del controlador no acceden al evento. Pero por alguna razón, mis eventos que usan delegación no funcionan. Son ignorados.

 $picker.on('change', 'select', function() { console.log('CHANGE'); });

El registro de la consola no se está ejecutando, pero si elimino las líneas anteriores de la biblioteca, mi código de delegación de eventos funciona bien.

NOTA: $picker es un objeto en mi código que es padre del elemento de cuadro. Pero también tengo un evento agregado en $(document) que tampoco funciona.

Primera vez que veo algo así. Agregar un evento directamente al elemento evita la propagación del evento. ¿Alguien puede explicar qué está pasando aquí? ¿Está esto documentado en alguna parte?

Esto sucede en Firefox y Chrome.

Si alguien necesita un ejemplo simple, puedo crear uno. Pero pensé que esto se explica por sí mismo.

EDITAR: he creado una reproducción simple y funciona bien. Tengo una aplicación compleja con muchos archivos (aplicación R Shiny), pero no veo ningún evento de cambio en las herramientas de desarrollo. ¿Hay alguna forma de hacer que el evento no se propague? Tal vez usando la captura de eventos. ¿Qué debo buscar para encontrar el código que impide que los eventos se propaguen?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!