js 多次触发点击事件,在一定延迟内只执行一次

12ers_梦骑士 2016-12-06 11:37:08
需求是,多次点击按钮,或者说触发某事件,按最后一次点击延迟500ms后执行一次.

我自己的代码如下,会出现无法触发执行的bug.求教原因.以及需求的解决方案代码.

$(function(){
var timeoutflag = null;
$('#inputAddress1').click(function() {
if(timeoutflag != null){
clearTimeout(timeoutflag);
timeoutflag = null;
}
else{
timeoutflag=setTimeout(function(){
dosomething();//此处是一个会请求远程的ajax 异步操作;
},500);
}
});

});
...全文
8377 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
当作看不见 2016-12-06
  • 打赏
  • 举报
回复

$(function(){
      var timeoutflag = null;
      $('#inputAddress1').click(function() {
        if(timeoutflag != null){
          clearTimeout(timeoutflag);
        }

          timeoutflag=setTimeout(function(){
            dosomething();//此处是一个会请求远程的ajax 异步操作;
          },500);
        
      });
 
 	function dosomething(){
    	alert(1);
    }
    });
yuqiz1981 2016-12-06
  • 打赏
  • 举报
回复
代码写错了,你点一次赋值进去了,第二次就直接关闭了定时器

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧