是否可以禁用滚轮更改输入数字字段中的数字?我已经弄乱了特定于 webkit 的 CSS 来删除微调器,但我想完全摆脱这种行为。我喜欢使用type=number它,因为它在 iOS 上提供了一个不错的键盘。
type=number
防止鼠标滚轮事件在其他人建议的输入数字元素上的默认行为(调用“blur()”通常不是首选方法,因为这不是用户想要的)。
但。我会避免一直监听所有 input-number 元素上的鼠标滚轮事件,并且只在元素处于焦点时(即问题存在时)才这样做。否则,当鼠标指针位于 input- number 元素上的任何位置时, 用户无法滚动页面。
jQuery的解决方案:
// disable mousewheel on a input number field when in focus // (to prevent Chromium browsers change the value when scrolling) $('form').on('focus', 'input[type=number]', function (e) { $(this).on('wheel.disableScroll', function (e)聽{ e.preventDefault() }) }) $('form').on('blur', 'input[type=number]', function (e) { $(this).off('wheel.disableScroll') })
(将焦点事件委托给周围的表单元素 - 以避免对许多事件侦听器不利,这对性能不利。)