婷婷综合国产,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輸入實時檢測以及延時優化的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 托里县| 玉田县| 平谷区| 三明市| 河间市| 石门县| 襄垣县| 张家界市| 芷江| 美姑县| 陕西省| 穆棱市| 四子王旗| 林周县| 桃园县| 临泽县| 安阳市| 加查县| 晋宁县| 荣昌县| 宝清县| 尉氏县| 阳朔县| 宁强县| 上杭县| 霸州市| 涿鹿县| 崇义县| 瓦房店市| 体育| 博白县| 从江县| 大关县| 赣州市| 兰考县| 恩平市| 甘孜县| 平潭县| 长子县| 从化市| 金阳县|