Memantau tiada input untuk tempoh masa boleh digunakan untuk melengkapkan input mudah
Kali terakhir, kami melaksanakan masalah menghantar permintaan ke latar belakang untuk mendapatkan data apabila input simulasi selesai dan memaparkannya ke meja depan Kriteria penghakiman teras ialah definisi pelengkapan input.
Iaitu: bagaimana pengguna melengkapkan input.
Standard yang saya gunakan ialah apabila kandungan dalam kotak teks tidak berubah selama 1 saat, ia bermakna pengguna tidak memasukkan dalam masa 1 saat, menunjukkan bahawa pengguna telah melengkapkan input dan sedang menunggu data pemulangan . Jadi bagaimana jQuery menentukan jika tiada input dalam masa 1 saat.
<!DOCTYPE html> <html> <head> <script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.js"></script> <script> var lastTime; $(function(){ $('#text1').keyup(function (e) { lastTime = e.timeStamp; setTimeout(function () { if (lastTime - e.timeStamp == 0) { alert("1秒内没再输入,可以发送查询"); } }, 1000); }); }) </script> </head> <body> <input id="text1" type="text" value="" /> </body> </html>
Prinsip
Ini adalah sekeping kod yang begitu ringkas. Prinsipnya boleh diterangkan secara ringkas seperti berikut:
Setiap kali pengguna menekan papan kekunci, masa semasa direkodkan, dan kemudian masa dinilai selepas 1 saat.
Memandangkan lastTime ialah pembolehubah global, lastTime sentiasa berubah apabila pengguna menaip, jadi jika anda menggunakan lastTime-e.timeStamp selepas satu saat, hanya e.timeStamp terakhir yang ditekan akan menjadi 0. .