El problema es que tengo algunos conjuntos de etiquetas de entrada creados dinámicamente y también tengo una función que debe activarse cada vez que se cambia un valor de entrada.
$('input').on('change', function() {
// Does some stuff and logs the event to the console
});
Sin embargo, .on('change')
no se activa para ninguna entrada creada dinámicamente, solo para elementos que estaban presentes cuando se cargó la página. Desafortunadamente, esto me deja en un aprieto, ya que .on
está destinado a ser el reemplazo de.live()
y .delegate()
todos los cuales son envoltorios para .bind()
: /
¿Alguien más ha tenido este problema o sabe de una solución?
fuente
$(document).on({ change: handleChange }, 'input');
más la funciónconst handleChange = (event) => { $(event.target)...
Es bueno evitar lo problemáticothis
.Utilizar este
fuente
$('#id')
en el código en lugar de'#id'
Puede aplicar cualquier enfoque:
fuente
fuente
Solo para aclarar alguna posible confusión. Esto solo funciona cuando un elemento está presente en la carga DOM:
Cuando un elemento se carga dinámicamente más tarde, puede usar:
fuente
fuente
Puede usar el evento 'input', que ocurre cuando un elemento recibe la entrada del usuario.
documentación de w3
fuente
puedes usar:
Funciona conmigo
fuente