Параметр modifyValueOnWheel в
библиотеке AutoNumeric управляет тем, будет ли значение числового поля
изменяться при использовании колесика мыши, когда фокус находится на
элементе ввода. Этот механизм напрямую влияет на пользовательский опыт
ввода чисел, особенно в интерфейсах с инкрементальными значениями,
финансовыми формами, параметрическими настройками и административными
панелями.
В стандартном HTML-поведении событие wheel может быть
использовано для изменения значения input[type="number"],
однако поведение по умолчанию нестабильно между браузерами и часто
конфликтует с пользовательским ожиданием точного ввода.
AutoNumeric перехватывает событие прокрутки и, в зависимости от
настройки modifyValueOnWheel, либо:
step,
decimalPlaces, minimumValue,
maximumValue)Параметр modifyValueOnWheel является логическим
флагом:
true — включить изменение значения колесом мышиfalse — отключить изменение значения колесом мышиmodifyValueOnWheel: trueПри включённом режиме AutoNumeric активирует обработчик
wheel, который:
Определяет направление прокрутки:
Применяет шаг изменения:
Учитывает ограничения:
minimumValue — нижняя границаmaximumValue — верхняя границаПрименяет форматирование:
Пример конфигурации:
AutoNumeric.create('#price', {
modifyValueOnWheel: true,
minimumValue: '0',
maximumValue: '10000',
decimalPlaces: 2
});
При такой настройке поле становится интерактивным регулятором числового значения, что удобно для параметров типа «цена», «количество», «процент».
modifyValueOnWheel: falseПри отключении:
wheel блокируется или игнорируетсяwheel-поведения браузера и других обработчиков)Это особенно важно для полей ввода внутри прокручиваемых интерфейсов, где случайное изменение значения недопустимо.
В интерфейсах настройки параметров (например, количество товаров,
процент скидки) включение modifyValueOnWheel делает ввод
быстрее:
В денежных полях поведение колесика часто нежелательно:
В таких случаях параметр обычно отключается.
В системах управления конфигурацией используется смешанный подход:
Хотя AutoNumeric не всегда использует классический HTML
step, логика изменения при прокрутке может быть связана
с:
При достижении границ:
В некоторых конфигурациях или расширениях логика шага при прокрутке может быть переопределена, что позволяет:
Обработка события wheel имеет различия:
AutoNumeric нормализует эти различия, обеспечивая единый слой логики поверх нативного события.
Один из ключевых аспектов modifyValueOnWheel —
взаимодействие с вертикальной прокруткой:
В сложных интерфейсах часто применяется дополнительная логика:
event.preventDefault() только при активном
полеИзменение значения колесиком применяется только когда:
После потери фокуса колесо мыши не влияет на значение.
AutoNumeric.create('#quantity', {
modifyValueOnWheel: true,
minimumValue: '1',
maximumValue: '999',
decimalPlaces: 0,
unformatOnHover: false
});
Такая настройка превращает поле в управляемый числовой регулятор, где колесико мыши становится основным способом быстрого изменения значения.
maximumValue, приводящее к
бесконтрольному ростуstep, который не всегда
совпадает с логикой AutoNumericЛогика modifyValueOnWheel обычно рассматривается как
часть более широкой модели взаимодействия:
При проектировании интерфейса важно учитывать, что колесо мыши является неявным способом изменения значения, и его использование должно быть предсказуемым и контролируемым.