Me pregunto si alguien sabe qué eventos desencadena un <input type="number" />
elemento HTML5 cuando se hace clic en sus flechas arriba / abajo:
Ya estoy usando un onblur
para cuando el foco abandona el campo de entrada.
javascript
html
Ian Oxley
fuente
fuente
Respuestas:
change
sería el evento que se dispara cuando cambia el valor del campo.Creo que el evento HTML5
input
también se activará.fuente
oninput
se activa cuando se hace clic en las flechas "arriba" y "abajo".change
no se activa cuando se escribe el valor, solo cuando se hace clic en los botones (al menos en Firefox).input
es como una fusión entrekeyup change
Descubrí que para jQuery, el siguiente código cubría la entrada del teclado, los cambios de la rueda del mouse y los clics de botones en Chrome, y también manejaba la entrada del teclado en Firefox
fuente
.bind()
ahora está en desuso a favor de.on()
encontre eso
onkeyup
yonchange
cubrí todo en Chrome 19. Esto maneja la entrada de valor directa, presionar la tecla de flecha hacia arriba y abajo, hacer clic en los botones y desplazar la rueda del mouse.onchange
solo sería suficiente en Chrome, pero otros navegadores que solo muestran el campo como un cuadro de texto necesitan elonkeyup
enlace, que funciona perfectamente para leer el nuevo valor.Vincular el
mousewheel
evento por separado tuvo menos éxito. El evento se disparó demasiado pronto, antes de que se actualizara el valor del campo, y por lo tanto, siempre dio el valor anterior del campo.fuente
El
onchange
evento se activa con el desenfoque, pero eloninput
evento se activa a medida que escribe. ¿Quizás quieras poner un temporizador en eloninput
evento y disparar tuonchange
evento cuando el usuario ha dejado de escribir por un segundo?fuente
Hay un error actual en Edge que impide que se activen los cambios o las entradas cuando se utilizan las teclas de flecha en una entrada numérica.
fuente