Heim >Web-Frontend >js-Tutorial >Warum wird das onchange-Ereignis für das Ziehen von Bereichseingaben in Firefox nicht ausgelöst?

Warum wird das onchange-Ereignis für das Ziehen von Bereichseingaben in Firefox nicht ausgelöst?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-21 18:33:29792Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn