js防止重复点击

表单元素

disabled 没有之一。

el.prop('disabled', true);
ajax({}).done(function() { el.prop('disabled', false); });

非表单元素

非表单,自然没有 disabled 之说,但可以借助中间变量。

if (el.data().loading === true) return false;
el.data('loading', true);
ajax({}).done(function() { el.data('loading', false); });

配合CSS

最后再配合css就更完美了。

.disabled, button[disabled] { background-color:#ddd; }

下面的例子用jquery。

解决思路,设置一个条件来触发事件:
那么问题来了,怎么设置条件 ?
可以用setTimeout函数来改变条件的值。

function runa(){
          console.log('is run');
      }
      var isRun=true;
     $("#set").click(function(){
         if(isRun){
             runa();
             isRun=false;
         }
         setTimeout(function(){
             isRun=true;
         },1500) //点击后相隔多长时间可执行
     })

 

posted @ 2018-06-21 15:09  枫叶布  阅读(4956)  评论(1编辑  收藏  举报