如上例子:当我点击提交按钮触发submitQuartz()函数 防止用户连续点击提交操作
方法一:获取当时点击时间,根据时间差判断
$scope.submitQuartz=function () { var nowTime = new Date().getTime(); var clickTime = $(this).attr("ctime"); if( clickTime != 'undefined' && (nowTime - clickTime < 10000)){ alert('操作过于频繁,稍后再试'); return false; }else{ $(this).attr("ctime",nowTime); } }
方法二:利用一次性定时器$timeout
var tid; var bClicked = false; function doit(){ if(tid!=null){$timeout.cancel(tid);tid=null;} bClicked = false; } $scope.submitQuartz=function () { if(bClicked){ alert("不要重复递交"); return false; } bClicked = true; tid =$timeout("doit()", 10000); }
还有好多方法,以上两种仅供参考!