首页 > web前端 > js教程 > 为什么火狐中范围输入拖动不触发onchange事件?

为什么火狐中范围输入拖动不触发onchange事件?

Mary-Kate Olsen
发布: 2024-10-21 18:33:29
原创
805 人浏览过

Why is the onchange Event Not Triggered for Range Input Drag in Firefox?

Firefox onchange 事件在范围输入拖动时未触发

在类型为“range”的输入元素中,当拖动滑块时,onchange仅当滑块放到 Firefox 中的新位置时才会触发该事件。相比之下,Chrome 和其他浏览器在拖动过程中会触发 onchange 事件。

解决方案:使用 oninput 事件

Firefox 仅在释放时正确触发 onchange 事件,按照规格。要在所有浏览器中拖动期间捕获实时更新,请改用 oninput 事件。

<code class="html">function showVal(newVal){
    document.getElementById("valBox").innerHTML=newVal;
}</code>
登录后复制
<code class="html"><span id="valBox"></span>
<input type="range" min="5" max="10" step="1" oninput="showVal(this.value)"></code>
登录后复制

结合 oninput 和 onchange 实现跨浏览器兼容性

对于为了跨浏览器兼容性,请考虑结合使用 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 中触发,而 oninput 事件在所有浏览器中提供持续更新。

以上是为什么火狐中范围输入拖动不触发onchange事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板