Memantau Perubahan Input dengan jQuery: Di luar Peristiwa .change()
Apabila menggunakan acara .change() jQuery pada elemen input, ia adalah penting untuk menyedari bahawa peristiwa itu hanya tercetus apabila input hilang fokus. Walau bagaimanapun, dalam banyak senario, kita perlu bertindak balas terhadap perubahan nilai apabila ia berlaku. Artikel ini meneroka kaedah alternatif untuk mencapai pengesanan perubahan input masa nyata.
Kaedah 1: Acara 'input'
Pelayar moden menyokong acara 'input' yang menyala pada bila-bila masa nilai input berubah, tidak kira sama ada elemen mempunyai fokus. Dalam jQuery, acara ini boleh ditangkap menggunakan kaedah 'input' atau 'on('input')':
$('#someInput').on('input', function() { $(this).val() // Get the current input value. });
Kaedah 2: Acara 'keyup'
Dalam pelayar lama, acara 'keyup' boleh digunakan. Ia menyala apabila kunci dilepaskan, tetapi penting untuk ambil perhatian bahawa ia tidak mengesan perubahan yang dibuat melalui penampalan menu konteks atau apabila kekunci pengubah suai seperti "shift" dikeluarkan.
$('#someInput').keyup(function() { $(this).val() // Get the current input value. });
Kaedah 3 : Pemasa
Jika acara 'input' mahupun 'keyup' tidak sesuai, penyelesaian berasaskan pemasa menggunakan 'setInterval' atau 'setTimeout' boleh digunakan untuk menyemak perubahan nilai dalam input secara berkala. Kaedah ini boleh mengesan perubahan walaupun semasa menaip atau menampal berterusan.
Contoh
Rujuk biola yang disediakan (http://jsfiddle.net/pxfunc/5kpeJ/) untuk contoh kerja setiap kaedah.
Dengan memahami kaedah alternatif ini, pembangun boleh memantau perubahan input secara berkesan dalam masa nyata, memastikan pengalaman responsif dan mesra pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Perubahan Input Masa Nyata dalam jQuery Di Luar Acara .change()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!