Bisakah seseorang memberi tahu saya apa perbedaan antara the change
dan input
events?
Saya menggunakan jQuery untuk menambahkannya:
$('input[type="text"]').on('change', function() {
alert($(this).val());
})
Ini juga berfungsi dengan input
alih - alih change
.
Mungkin beberapa perbedaan dalam urutan acara relatif terhadap fokus?
javascript
jquery
events
dom
Gabriel Petrovay
sumber
sumber
input
event juga menangkap paste. Lihat stackoverflow.com/questions/15727324/…Jawaban:
Menurut posting ini :
oninput
peristiwa terjadi ketika konten teks suatu elemen diubah melalui antarmuka pengguna.onchange
terjadi saat pemilihan, status yang dicentang, atau konten elemen telah berubah . Dalam beberapa kasus, ini hanya terjadi saat elemen kehilangan fokus atau saat menekan return(Enter) dan nilainya telah diubah. Atribut onchange dapat digunakan dengan:<input>
,<select>
, dan<textarea>
.TL; DR:
oninput
: perubahan apa pun yang dilakukan pada konten teksonchange
:<input />
: ubah + kehilangan fokus<select>
: opsi ubahsumber
onchange
terjadi "ketika elemen kehilangan fokus" sementaraoninput
terjadi pada setiap perubahan teks.onchange
juga dipicu saat Anda menekan enter sambil tetap fokus.The
change
event
kebakaran di kebanyakan browser bila konten berubah dan elemen kehilanganfocus
. Ini pada dasarnya adalah kumpulan perubahan. Itu tidak akan menyala untuk setiap perubahan seperti dalam kasus iniinput
event
.The
input
event
kebakaran serentak pada perubahan konten untuk elemen. Dengan demikian, pendengar acara cenderung lebih sering aktif.Browser yang berbeda tidak selalu setuju apakah peristiwa perubahan harus diaktifkan untuk jenis interaksi tertentu
sumber
input
acara tersebut.Dokumentasi MDN memiliki penjelasan yang jelas (tidak yakin kapan ditambahkan):
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
sumber