2015-08-08 57 views
2

我正在使用jquery驗證我的網站。我禁用了驗證onkeyup。如何延遲驗證jquery驗證插件的關鍵事件?

$(document).ready(function() { 
     $("#emailrecheckform").validate({onkeyup:false}); 
    }); 

我想知道如何延遲驗證jquery驗證的關鍵事件。我在互聯網上找不到任何有用的東西。

+0

延遲如何?首先調用另一個函數?而不是一個毫釐的數量?你爲什麼需要延遲它?需要更多信息! – Narcil

+0

我在遠程驗證mvc中使用它。 MVC遠程驗證會將每個密鑰的請求發送到服務器。我想慢下來,以儘量減少服務器的商務。 – user3762230

回答

1

我已經多次處理這個問題。問題是每當我們按下一個鍵時都會向服務器發送一個請求,所以我們需要在用戶按下某個鍵之後調用該功能。這將這樣的伎倆:基於

var myTimer = 0; 

$("#emailrecheckform").on('keydown', function() { 
    // cancel any previously-set timer 
    if (myTimer) { 
     clearTimeout(myTimer); 
    } 

    myTimer = setTimeout(function() { 
     alert("sending request : " + $("#search-input").val()); 
    }, 400); //delay time in milliseconds 
    }); 

Source

+0

謝謝卡洛斯。 – user3762230