码迷,mamicode.com
首页 > 其他好文 > 详细

控制点击频率

时间:2017-08-18 09:38:36      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:时间   bounce   ref   res   btn   for   ret   get   事件   

问题描述:给一个按钮绑定点击事件,发ajax请求,向服务器提交数据和从服务器获取数据。用户在较短时间内多次点击按钮,请求混乱,服务器来不及处理。
预期结果:我们希望第1次请求结束后,才可以发第2次请求。
解决方案
1、利用jQuery中的ajax方法

beforeSend: function() {
  $(‘#submit_btn‘).off(‘click‘);
},
complete: function() {
  $(‘#submit_btn‘).on(‘click‘);
}

2、设置一个提交标志

//初始状态,可以提交;
var flagSubmit = true;

//提交期间,如果flagSubmit为false,就禁止提交;
if(!flagSubmit) return false;
//提交期间,锁住flagSubmit;
flagSubmit = false;

//提交成功后,释放flagSubmit。
flagSubmit = true;

3、借助高阶函数debounce去抖
核心思想是,设置定时器,延迟期间,锁定提交行为;延迟结束后,可以继续点击提交。

控制点击频率

标签:时间   bounce   ref   res   btn   for   ret   get   事件   

原文地址:http://www.cnblogs.com/camille666/p/js_jquery_prevent_click_more_time.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!