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