Просто интересно, знает ли кто-нибудь, какие события <input type="number" />
срабатывает элемент HTML5 при нажатии на его стрелки вверх / вниз:
Я уже использую, onblur
когда фокус покидает поле ввода.
Просто интересно, знает ли кто-нибудь, какие события <input type="number" />
срабатывает элемент HTML5 при нажатии на его стрелки вверх / вниз:
Я уже использую, onblur
когда фокус покидает поле ввода.
Ответы:
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
события отдельно была менее успешной. Событие сработало слишком рано - до обновления значения поля - и поэтому всегда давало предыдущее значение поля.
В Edge есть текущая ошибка, препятствующая срабатыванию изменения или ввода при использовании клавиш со стрелками при вводе чисел.