如上例子:當我點擊提交按鈕觸發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); }
還有好多方法,以上兩種僅供參考!