Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Peristiwa onchange Tidak Dicetuskan untuk Seret Input Julat dalam Firefox?

Mengapa Peristiwa onchange Tidak Dicetuskan untuk Seret Input Julat dalam Firefox?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-21 18:33:29717semak imbas

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

Peristiwa onchange Firefox Tidak Dicetuskan pada Seret Input Julat

Dalam elemen input dengan jenis "julat," apabila peluncur diseret, onchange acara hanya dicetuskan apabila peluncur dijatuhkan ke kedudukan baharu dalam Firefox. Sebaliknya, Chrome dan penyemak imbas lain mencetuskan peristiwa onchange semasa seretan.

Penyelesaian: Gunakan Peristiwa oninput

Firefox dengan betul mencetuskan acara onchange hanya selepas dikeluarkan, mengikut spesifikasi. Untuk menangkap kemas kini langsung semasa menyeret dalam semua penyemak imbas, gunakan acara oninput sebaliknya.

<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>

Menggabungkan oninput dan onchange untuk Keserasian Merentas Pelayar

Untuk keserasian merentas penyemak imbas, pertimbangkan untuk menggabungkan kedua-dua pengendali acara oninput dan 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>

Ini memastikan acara onchange masih dicetuskan dalam Firefox semasa dikeluarkan, manakala acara oninput menyediakan kemas kini berterusan dalam semua penyemak imbas.

Atas ialah kandungan terperinci Mengapa Peristiwa onchange Tidak Dicetuskan untuk Seret Input Julat dalam Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn