我很难过为什么鼠标滚轮不会增加/减少简单表单元素中的值.
<input type="number" step="0.125" min="0" max="0.875">Run Code Online (Sandbox Code Playgroud)
它适用于这个片段就好了,但是当我创建一个简单的通用html文档时却没有:
<!DOCTYPE html>
<html>
<head></head>
<body>
<form action="">
<input type="number" step="0.125" min="0" max="0.875">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我在几个浏览器中查看时,鼠标滚轮不会滚动.我已禁用浏览器扩展程序等.我周围的其他几台机器的行为方式相同.
是什么导致这不起作用?这是OS /浏览器问题吗?
我几乎觉得这可能是更深层次的东西,可能是鼠标/驱动程序问题的类型?
我测试的是:
IE9 - 失败
OSX
代码片段在 IFRAME 中运行。将您的代码放入 IFRAME 中,它也会起作用。为什么 - 我不知道,但它有效。
IE
http://codecorner.galanter.net/bla2.htm - 不起作用(代码本身) http://codecorner.galanter.net/bla.htm - 有效 - IFRAME 中的上一页
编辑:这是它在 Chrome 41 中工作的演示:http://codecorner.galanter.net/bla_mousescroll.mp4
编辑2:我想我已经弄清楚了,它不是 IFRAME。为了发生滚动事件 - 实际内容必须是可滚动的。例如,如果您像这样重做您的示例:
<!DOCTYPE html>
<html>
<head></head>
<body>
<form action="" style="width:200px;overflow:scroll">
<div style="width:300px">
<input type="number" step="0.125" min="0" max="0.875">
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
其中容器形式小于其内容 - DIV - 滚轮在数字字段上工作:http ://codecorner.galanter.net/bla3.htm