Rumah >hujung hadapan web >tutorial js >Mengapa Firefox Berkelakuan Berbeza dalam Pengendalian Acara \'Onchange\' untuk Input Julat?
Jenis Input=Julat Onchange Event Gelagat Perbezaan dalam Firefox
Pernyataan Masalah:
Semasa menggunakan , Firefox hanya mencetuskan acara 'onchange' apabila peluncur dijatuhkan ke kedudukan baharu, manakala penyemak imbas lain seperti Chrome memulakan acara semasa operasi seretan.
Penyelesaian:
Percanggahan dalam tingkah laku timbul disebabkan oleh pelaksanaan penyemak imbas yang berbeza bagi acara 'onchange'. Mengikut spesifikasi HTML, 'onchange' hanya perlu dilaksanakan apabila nilai medan input dimuktamadkan (cth., apabila tetikus dilepaskan).
Untuk menangani perbezaan ini, penyelesaian berikut boleh digunakan:
Gunakan acara 'oninput', yang menangkap perubahan nilai semasa seretan tetikus dan input papan kekunci, sekali gus memberikan gelagat yang konsisten merentas penyemak imbas.
Walau bagaimanapun, 'oninput' tidak disokong dalam IE10. Oleh itu, untuk keserasian menyeluruh, 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>
Dengan menggabungkan pendekatan ini, peristiwa 'onchange' akan dicetuskan secara konsisten dalam Firefox, Safari dan Chrome, sementara juga memastikan keserasian dengan IE10.
Atas ialah kandungan terperinci Mengapa Firefox Berkelakuan Berbeza dalam Pengendalian Acara \'Onchange\' untuk Input Julat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!