jQuery 監(jiān)控鍵盤一段時間沒輸入
來源:易賢網 閱讀:824 次 日期:2016-07-06 16:08:24
溫馨提示:易賢網小編為您整理了“jQuery 監(jiān)控鍵盤一段時間沒輸入”,方便廣大網友查閱!

當一個文本框中,里面的內容1秒鐘無變化,則表示用戶1秒鐘內無輸入,說明用戶是已經輸入完成,再等待返回數(shù)據(jù)了。那么jQuery如何實現(xiàn)判斷1秒內無輸入呢,一起通過本文學習吧

監(jiān)控一段時間沒輸入可用于簡單的輸入完成

上次實現(xiàn)了一個模擬輸入完成則發(fā)送請求到后臺獲取數(shù)據(jù)的并顯示到前臺的問題,其中核心的判斷標準是輸入完成的定義。

即:用戶怎么算輸入完成。

我使用的標準是,當一個文本框中,里面的內容1秒鐘無變化,則表示用戶1秒鐘內無輸入,說明用戶是已經輸入完成,再等待返回數(shù)據(jù)了。那么jQuery如何實現(xiàn)判斷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秒內沒再輸入,可以發(fā)送查詢");

}

}, 1000);

});

})

</script>

</head>

<body>

<input id="text1" type="text" value="" />

</body>

</html>

原理

就是這樣一段精簡的代碼。其原理可簡述如下:

用戶每一次按下鍵盤,都記錄當前的時間,然后再1秒后再判斷一下時間。

lastTime由于是全局變量,所以當用戶在輸入的時候,lastTime是一直在變化的,所以一秒后再用lastTime-e.timeStamp,只有最后按下的e.timeStamp那一次才會為0。

更多信息請查看網絡編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網