Просто интересно, знает ли кто-нибудь, какие события <input type="number" />
срабатывает элемент HTML5 при нажатии на его стрелки вверх / вниз:
Я уже использую, onblur
когда фокус покидает поле ввода.
javascript
html
Ян Оксли
источник
источник
Ответы:
change
будет событием, которое запускается при изменении значения поля.Я думаю, что событие HTML5
input
тоже сработает.источник
oninput
срабатывает только при нажатии стрелок «вверх» и «вниз».change
не срабатывает при вводе значения, только при нажатии кнопок (по крайней мере, в Firefox).input
как слияниеkeyup change
Я обнаружил, что для jQuery следующий код охватывает ввод с клавиатуры, изменения колесика мыши и щелчки кнопок в Chrome, а также обрабатывает ввод с клавиатуры в Firefox.
$("input[type=number]").bind('keyup input', function(){ // handle event });
источник
.bind()
теперь устарело в пользу.on()
Я нашел это
onkeyup
иonchange
рассмотрел все в Chrome 19. Он обрабатывает прямой ввод значений, нажатие клавиши со стрелкой вверх, нажатие кнопок и прокрутку колеса мыши.onchange
одного будет достаточно в Chrome, но другие браузеры, которые отображают поле только как текстовое поле, нуждаются вonkeyup
привязке, которая отлично работает для чтения нового значения.Привязка
mousewheel
события отдельно была менее успешной. Событие сработало слишком рано - до обновления значения поля - и поэтому всегда давало предыдущее значение поля.источник
В
onchange
событие срабатывает на размытость , но какoninput
событие срабатывает при вводе. Может быть, вы захотите установить таймер наoninput
событие и запуститьonchange
событие, когда пользователь перестал печатать на секунду?источник
В Edge есть текущая ошибка, препятствующая срабатыванию изменения или ввода при использовании клавиш со стрелками при вводе чисел.
источник