首页 > 解决方案 > 我可以在点击时使范围输入的值上下变化吗?

问题描述

说我有一个<input type=range min=0 max=100 step=1 />. 如果我聚焦输入,然后用键盘上下移动,值会相应改变。当我单击范围内的任意点时,该值会跳转到我单击鼠标的位置。这对许多应用程序来说都是有意义的,但我是否可以改变这种行为以使值向上和向下移动,就像我向上或向下移动箭头键一样?这对许多科学应用都是有意义的。

我在这里找不到范围输入规范中关于鼠标行为的具体信息: https://html.spec.whatwg.org/#range-state-(type=range)

也许这里有人有答案?

标签: htmluser-interfaceinput

解决方案


你可以做这样的事情。

<!DOCTYPE html>
<script> var oldValue = 50; </script>
<input type=range max=100 step=1 oninput=" if (oldValue) { this.value = this.value > oldValue ? oldValue + 1 : oldValue - 1; } oldValue = parseInt(this.value, 10);"> 

推荐阅读