校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 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輸入實時檢測以及延時優化的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 那坡县| 蛟河市| 庆元县| 祁东县| 松桃| 达孜县| 怀仁县| 鄯善县| 汽车| 孟州市| 巫溪县| 双桥区| 太谷县| 靖远县| 方城县| 枣庄市| 临朐县| 安顺市| 武威市| 泰和县| 兴化市| 四平市| 房产| 两当县| 雅安市| 孝感市| 赤城县| 武定县| 建德市| 通城县| 内江市| 芒康县| 寿宁县| 潮安县| 四子王旗| 莱西市| 乐至县| 黄平县| 达拉特旗| 平顶山市| 穆棱市|