Saya ingin menjalankan fungsi setiap kali nilai kotak input tertentu berubah. Ini hampir berfungsi $('input').keyup(function)
, tetapi tidak ada yang terjadi ketika menempelkan teks ke dalam kotak, misalnya. $input.change(function)
hanya terpicu ketika input kabur, jadi bagaimana saya akan segera tahu kapan kotak teks telah berubah nilainya?
159
keyup
danpaste
acara?paste
hanyalah salah satu yang saya pikirkan, saya lebih suka mendengarkan perubahan definitif daripada harus memikirkan semua jalur masuk yang berbeda.cut
).Jawaban:
cukup remenber bahwa 'on' direkomendasikan atas fungsi 'bind', jadi selalu coba gunakan pendengar acara seperti ini:
sumber
paste
? Pertama saya pikir itu hanya berfungsi jika kita menempelkan sesuatu denganCTRL+V
.console.log()
bukanalert
. Akan sangat mengganggu untuk keyupalert
.Deskripsi
Anda dapat melakukan ini menggunakan
.bind()
metode jQuery . Lihat jsFiddle .Sampel
Html
jQuery
Informasi Lebih Lanjut
sumber
Coba ini .. kredit ke https://stackoverflow.com/users/1169519/teemu
untuk menjawab pertanyaan saya di sini:
/programming/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811Solusi ini membantu saya untuk maju dalam proyek saya.
Catatan: penggantian properti untuk versi IE yang lebih rendah.
sumber
Anda juga dapat menggunakan acara kotak teks -
Coba ini
sumber
Coba ini:
Pada dasarnya, cukup akun untuk setiap acara:
Html:
Jquery:
sumber
pilih untuk saran browser
sumber
Coba ini:
sumber
Gunakan ini: https://github.com/gilamran/JQuery-Plugin-AnyChange
Ini menangani semua cara untuk mengubah input, termasuk menu konten (Menggunakan mouse)
sumber
Kombinasi acara ini berhasil untuk saya:
sumber
JANGAN LUPA
cut
atauselect
ACARA!Jawaban yang diterima hampir sempurna, tetapi lupa tentang
cut
danselect
peristiwa.cut
dipecat saat pengguna memotong teks (CTRL + X atau melalui klik kanan)select
dipecat ketika pengguna memilih opsi yang disarankan browserAnda harus menambahkannya juga, seperti:
sumber