0

サーバーからの応答を取得するために ajax リクエストを発生させるそれぞれの選択に 2 つのチェックボックスがあります。最後のリクエストが行われた後、少なくとも 2 秒のギャップがあるときにメソッドを呼び出す必要があります。何か案が?これは、チェックボックスが2秒未満のギャップで連続してクリックされたときにメソッドを呼び出したくないことを意味します。

4

3 に答える 3

2

2 秒でアクティブになるタイムアウトを設定し、誰かが別のチェックボックスをクリックするたびにキャンセルして再起動します。

var timeout;
var checkboxClickHandler = function() {
    clearTimeout(timeout);
    var timeout = setTimeout(function() {
          // Your logic.
    }, 2e3);
};
于 2013-04-05T06:19:22.040 に答える
1
var timeOut=0;
$(".selector").on('change',function(){
    if(timeOut == 0)
    {
        timeOut=2;  //change timeOut variable to "2" to be used in if condition above
        //your ajax request code ;  
        setTimeout(function(){timeOut=0},2000);   // changing back timeOut to 0 after 2 sec.
    }
});
于 2013-04-05T08:13:11.600 に答える