我有一个<input type="number" step="1">
用于选择字体大小的元素。但是,考虑到在大型画布上绘图的上下文,将数字更改 1 几乎不会引人注意。如果用户每次单击箭头时都可以将数字增加或减少 5 或 10,那么对用户来说会更方便。
我仍然需要将step
属性保持在 1,因为即使使用细粒度值,输入也应该保持有效。有没有办法实现这种行为,比如下面的(伪)jump
属性。我也愿意接受 Javascript 解决方案,但据我所知,当用户单击箭头时没有这样的事件。
<input type="number" min="1" max="1000" step="1" jump="5" value="100" />
您可以尝试这样做:
input
事件检查值的变化是否与步进值匹配,并相应地根据跳跃值进行调整。编辑:在这种情况下,为了回答您的评论,我们将使用标志并添加回该
keydown
事件。向输入事件监听器添加一个条件,以防止在您手动更改值时出现不必要的行为