欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery 監(jiān)控鍵盤一段時間沒輸入

 更新時間:2016年04月22日 14:13:27   作者:逆心  
當(dāng)一個文本框中,里面的內(nèi)容1秒鐘無變化,則表示用戶1秒鐘內(nèi)無輸入,說明用戶是已經(jīng)輸入完成,再等待返回數(shù)據(jù)了。那么jQuery如何實現(xiàn)判斷1秒內(nèi)無輸入呢,一起通過本文學(xué)習(xí)吧

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

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

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

我使用的標(biāo)準(zhǔn)是,當(dāng)一個文本框中,里面的內(nèi)容1秒鐘無變化,則表示用戶1秒鐘內(nèi)無輸入,說明用戶是已經(jīng)輸入完成,再等待返回數(shù)據(jù)了。那么jQuery如何實現(xiàn)判斷1秒內(nèi)無輸入呢。

<!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秒內(nèi)沒再輸入,可以發(fā)送查詢");
}
}, 1000);
});
})
</script>
</head>
<body>
<input id="text1" type="text" value="" />
</body>
</html>

原理

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

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

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

相關(guān)文章

最新評論