Heim >Web-Frontend >js-Tutorial >Warum wird das onchange-Ereignis für das Ziehen von Bereichseingaben in Firefox nicht ausgelöst?
Firefox-Onchange-Ereignis wird beim Ziehen der Bereichseingabe nicht ausgelöst
In Eingabeelementen mit dem Typ „Bereich“ wird beim Ziehen des Schiebereglers der Onchange Das Ereignis wird nur ausgelöst, wenn der Schieberegler in Firefox an eine neue Position verschoben wird. Im Gegensatz dazu lösen Chrome und andere Browser beim Ziehen Onchange-Ereignisse aus.
Lösung: Oninput-Ereignis verwenden
Firefox löst das Onchange-Ereignis erst bei der Veröffentlichung korrekt aus, gemäß Spezifikation. Um Live-Updates während des Ziehens in allen Browsern zu erfassen, verwenden Sie stattdessen das Ereignis 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>
Kombination von oninput und onchange für browserübergreifende Kompatibilität
Für Um die browserübergreifende Kompatibilität zu gewährleisten, sollten Sie die Kombination von OnInput- und OnChange-Ereignishandlern in Betracht ziehen:
<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>
Dadurch wird sichergestellt, dass OnChange-Ereignisse weiterhin in Firefox bei der Veröffentlichung ausgelöst werden, während OnInput-Ereignisse kontinuierliche Updates in allen Browsern bereitstellen.
Das obige ist der detaillierte Inhalt vonWarum wird das onchange-Ereignis für das Ziehen von Bereichseingaben in Firefox nicht ausgelöst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!