婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > html5 input輸入實時檢測以及延時優化

html5 input輸入實時檢測以及延時優化

熱門標簽:云南大理400電話申請官方 黃島區地圖標注 電銷機器人電話用什么卡 四川點撥外呼系統 成都智能外呼系統平臺 江蘇智能電銷機器人哪家好 當涂高德地圖標注 南寧點撥外呼系統哪家公司做的好 鎮江智能外呼系統有效果嗎

有個項目是,這么個情況,輸入框,實時監測輸入,觸發請求。

第一想法是input 上的onchange()方法,試了一下,不好用,是值等更改確認了,才會觸發,不即時。

上網查了一下,

$("#fix").on('input propertychange', function(event){
});

方法的確可以用,但是實時更改。發送的頻率有點快啊。

趕緊加個定時器setTimeout.

$("#fix").on('input propertychange', function(event){
   setTimeout(function(){    //延遲0.5s執行
                   console.log($("#fix").val())
        },500);
});

問題又來了,定時器是異步,雖然延遲,但是還會執行,沒啥改變。

后來又想到解綁unbind,bind,但是解綁的時間里獲取不到鍵盤輸入的事件。

當時第一想法是,觸發事件-刪除定時器-添加定時器-執行函數。發現還是不好,定時器刪不掉,干脆就不執行了。

最后上網查了一下,發現一種新方法。

時間戳法。

原理就是,每次輸入修改全局變量,時間戳,延遲0.5s監測 新的時間戳和和綁定的時間戳相等,就進行下一步。

-----html-----

<input type="text" id="fix">
------script-----
var last;
$("#fix").on('input propertychange', function(event){
    //"#fix為你的輸入框
       last = event.timeStamp;
       //利用event的timeStamp來標記時間,這樣每次事件都會修改last的值,注意last必需為全局變量
       setTimeout(function(){    //設時延遲0.5s執行
            if(last-event.timeStamp==0)
               //如果時間差為0(也就是你停止輸入0.5s之內都沒有其它的keyup事件發生)則做你想要做的事
              {
                   console.log($("#fix").val())
               }
        },500);
});

總結

以上所述是小編給大家介紹的html5 input輸入實時檢測以及延時優化,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

標簽:淮安 廣西 酒泉 咸寧 南京 西寧 佳木斯 十堰

巨人網絡通訊聲明:本文標題《html5 input輸入實時檢測以及延時優化》,本文關鍵詞  html5,input,輸入,實時,檢測,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5 input輸入實時檢測以及延時優化》相關的同類信息!
  • 本頁收集關于html5 input輸入實時檢測以及延時優化的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 东乌珠穆沁旗| 钟山县| 峨边| 策勒县| 进贤县| 清水县| 星子县| 静安区| 慈溪市| 丰城市| 泸西县| 道孚县| 营口市| 上栗县| 无锡市| 普宁市| 积石山| 连云港市| 淳安县| 十堰市| 黄石市| 陆川县| 高陵县| 清水县| 石渠县| 信阳市| 那曲县| 东兰县| 天峨县| 南汇区| 洪洞县| 赫章县| 图木舒克市| 娄烦县| 田东县| 丹巴县| 陵川县| 班玛县| 高尔夫| 关岭| 施甸县|