thinkPHP實現的聯動菜單功能詳解
705
2024-01-11
監控一段時間沒輸入可用于簡單的輸入完成
上次實現了一個模擬輸入完成則發送請求到后臺獲取數據的并顯示到前臺的問題,其中核心的判斷標準是輸入完成的定義。
即:用戶怎么算輸入完成。
我使用的標準是,當一個文本框中,里面的內容1秒鐘無變化,則表示用戶1秒鐘內無輸入,說明用戶是已經輸入完成,再等待返回數據了。那么jQuery如何實現判斷1秒內無輸入呢。
<!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>
原理
就是這樣一段精簡的代碼。其原理可簡述如下:
用戶每一次按下鍵盤,都記錄當前的時間,然后再1秒后再判斷一下時間。
lastTime由于是全局變量,所以當用戶在輸入的時候,lastTime是一直在變化的,所以一秒后再用lastTime-e.timeStamp,只有最后按下的e.timeStamp那一次才會為0。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯系進行刪除處理。敬請諒解!