亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

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

        字號:


            當(dāng)一個(gè)文本框中,里面的內(nèi)容1秒鐘無變化,則表示用戶1秒鐘內(nèi)無輸入,說明用戶是已經(jīng)輸入完成,再等待返回?cái)?shù)據(jù)了。那么jQuery如何實(shí)現(xiàn)判斷1秒內(nèi)無輸入呢,一起通過本文學(xué)習(xí)吧
            監(jiān)控一段時(shí)間沒輸入可用于簡單的輸入完成
            上次實(shí)現(xiàn)了一個(gè)模擬輸入完成則發(fā)送請求到后臺獲取數(shù)據(jù)的并顯示到前臺的問題,其中核心的判斷標(biāo)準(zhǔn)是輸入完成的定義。
            即:用戶怎么算輸入完成。
            我使用的標(biāo)準(zhǔn)是,當(dāng)一個(gè)文本框中,里面的內(nèi)容1秒鐘無變化,則表示用戶1秒鐘內(nèi)無輸入,說明用戶是已經(jīng)輸入完成,再等待返回?cái)?shù)據(jù)了。那么jQuery如何實(shí)現(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)前的時(shí)間,然后再1秒后再判斷一下時(shí)間。
            lastTime由于是全局變量,所以當(dāng)用戶在輸入的時(shí)候,lastTime是一直在變化的,所以一秒后再用lastTime-e.timeStamp,只有最后按下的e.timeStamp那一次才會(huì)為0。