Firefox 中的输入类型=Range Onchange 事件行为差异
问题陈述:
While使用 ,Firefox 仅在滑块放入新位置时触发 'onchange' 事件,而 Chrome 等其他浏览器则在拖动操作期间启动该事件。
解决方案:
由于“onchange”事件的不同浏览器实现而导致行为差异。根据 HTML 规范,“onchange”仅应在输入字段的值最终确定时(例如,释放鼠标时)执行。
要解决此差异,可以采用以下解决方案:
利用“oninput”事件,该事件捕获鼠标拖动和键盘输入期间的值变化,从而提供跨浏览器的一致行为。
但是,IE10 不支持“oninput”。因此,为了全面兼容,请考虑组合“oninput”和“onchange”事件处理程序:
<code class="html"><span id="valBox"></span> <input type="range" min="5" max="10" step="1" oninput="showVal(this.value)" onchange="showVal(this.value)" /></code>
通过合并这种方法,“onchange”事件将在 Firefox、Safari 和 Chrome 中一致触发,而还确保与 IE10 的兼容性。
以上是为什么 Firefox 在处理范围输入的'Onchange”事件时表现不同?的详细内容。更多信息请关注PHP中文网其他相关文章!