: Cómo obtener un evento de cambio después de que JS cambia un valor sin modificar el código existente.
Un campo de entrada cambia su valor a través de jQuery (no por acción humana), así:
$("#code").val(9);
.
¿Cómo puedo interceptar el evento de cambio (o similar) sin cambiar o agregar nuevas líneas al código que cambia su valor?
davy.ai
Desafortunadamente, no es posible detectar un evento de cambio cuando el valor del campo de entrada se actualiza programáticamente a través de jQuery o cualquier otro método. El evento de cambio solo se activa cuando el valor del campo de entrada cambia por una acción humana, como escribir o copiar y pegar.
Sin embargo, una posible solución alternativa sería utilizar una función setInterval para sondear el valor del campo de entrada a intervalos regulares y compararlo con el valor anterior. Si el valor ha cambiado, entonces se pueden realizar las acciones necesarias en respuesta.
Aquí hay un código de muestra para demostrar este enfoque:
Tenga en cuenta que este enfoque no es ideal ya que agrega carga innecesaria al navegador y puede no ser adecuado para todas las situaciones. Idealmente, debería modificar el código que actualiza el valor del campo de entrada para desencadenar un evento personalizado o una función de devolución de llamada que pueda detectar y responder adecuadamente.