当我玩 <input type="range">
时,只有当我们将滑块放到一个新位置时,Firefox 才会触发 onchange 事件,在该位置 Chrome 和其他人在拖动滑块时触发 onchange 事件。
如何在 Firefox 中进行拖动?
function showVal(newVal){
document.getElementById("valBox").innerHTML=newVal;
}
<span id="valBox"></span>
<input type="range" min="5" max="10" step="1" onchange="showVal(this.value)">
原文由 Prasanth K C 发布,翻译遵循 CC BY-SA 4.0 许可协议
显然 Chrome 和 Safari 是错误的:
onchange
应该只在用户释放鼠标时触发。要获得持续更新,您应该使用oninput
事件,该事件将从鼠标和键盘捕获 Firefox、Safari 和 Chrome 中的实时更新。但是,IE10 不支持
oninput
,所以最好的办法是结合两个事件处理程序,如下所示:查看此 Bugzilla 线程 以获取更多信息。