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
Freigeben: 2024-10-21 18:33:29
Original
806 Leute haben es durchsucht

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>
Nach dem Login kopieren
<code class="html"><span id="valBox"></span>
<input type="range" min="5" max="10" step="1" oninput="showVal(this.value)"></code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage