Tenemos una entrada type = "number"
y hemos establecido un método onChange
.El valor que cambia manualmente no desencadena el eventoCambiar si el valor se cambió antes de programáticamente
El valor por defecto de la entrada es 0.
Luego cambiar el valor mediante programación decir, 10.
Ahora cambiamos el valor manualmente a 0 de nuevo.
El método onChange
no se invoca en el cambio hecho manualmente. Creo que es porque no se llamó al evento cuando cambiamos su valor programáticamente a 10. Entonces, de alguna manera, el control piensa que el valor sigue siendo 0.
Esto ocurre solo cuando configuro manualmente el valor al valor que estaba teniendo ANTES del cambio programático. Si uso cualquier otro valor para hacer que el manual cambie, el evento onChange
se desencadena correctamente.
¿Puede proporcionar un ejemplo, como [jsFiddle] (http://jsfiddle.net), que demuestre esto? Además, ¿qué navegador está usando y está seguro de que [admite este tipo de entrada] (http://caniuse.com/#feat=input-number)? –
esto es js en iOS safari. Lo interesante es que el problema ocurre SÓLO cuando cambio manualmente el valor al valor que tenía antes de que el programa cambiara de forma automática. En cualquier otro caso, el número de entrada desencadena perfectamente su método onchange ... –
lo único que me da un buen resultado es utilizar el evento onInput en lugar de onChange ... pero no sé si traerá yo mas problemas –