小编Phi*_*hil的帖子

向$ .post jquery请求添加延迟

我正在对表单中的任何复选框更改发送jquery $ .post请求.我想要的是将$ .post延迟500毫秒,以防用户快速检查多个复选框,以避免多个无用的请求.

这是我的代码,我添加了一个setTimeout函数,它似乎可以处理除$ .post函数之外的所有内容...

var delay = (function(){
  var timer = 0;
  return function(callback, ms){
    clearTimeout (timer);
    timer = setTimeout(callback, ms);
  };
})();

$(document).ready(function() {  

    $('.checkbox').change(function() {

        delay(function(){                             
            $.post("/?page_id=4", $("#selectors").serialize(), function(data){
                $('#results').html(data);
            }); 
        });

    }, 1000 );

});
Run Code Online (Sandbox Code Playgroud)

知道为什么这不起作用吗?

jquery post delay

8
推荐指数
2
解决办法
6581
查看次数

标签 统计

delay ×1

jquery ×1

post ×1