Basta saber se alguém sabe quais eventos um <input type="number" />
elemento HTML5 dispara quando suas setas para cima / para baixo são clicadas:
Já estou usando um onblur
para quando o foco sai do campo de entrada.
javascript
html
Ian Oxley
fonte
fonte
Respostas:
change
seria o evento disparado quando o valor do campo muda.Acho que o evento HTML5
input
também dispararia.fonte
oninput
é disparado quando as setas 'para cima' e 'para baixo' são clicadas.change
não dispara quando o valor é digitado, apenas quando os botões são clicados (pelo menos no Firefox).input
é como uma fusão entrekeyup change
Descobri que para jQuery o código a seguir cobria a entrada do teclado, as mudanças da roda do mouse e cliques de botão no Chrome, e também lidava com a entrada do teclado no Firefox
fonte
.bind()
agora está obsoleto em favor de.on()
Eu descobri isso
onkeyup
eonchange
cobri tudo no Chrome 19. Isso lida com a entrada direta de valor, pressionamento de tecla de seta para cima e para baixo, clicando nos botões e rolando a roda do mouse.onchange
por si só seria suficiente no Chrome, mas outros navegadores que apenas renderizam o campo como uma caixa de texto precisam daonkeyup
ligação, que funciona perfeitamente para ler o novo valor.Vincular o
mousewheel
evento separadamente teve menos sucesso. O evento foi disparado muito cedo - antes que o valor do campo fosse atualizado - e, portanto, sempre forneceu o valor anterior do campofonte
O
onchange
evento dispara em desfoque, masoninput
dispara conforme você digita. Talvez você queira colocar um cronômetro nooninput
evento e dispará-loonchange
quando o usuário parar de digitar por um segundo.fonte
Há um bug atual no Edge que impede a mudança ou entrada de disparar ao usar as teclas de seta em uma entrada de número.
fonte