angular ng-click防止重复提交实例
方法一:点击后,让button的状态变为disable
js指令:
.directive('clickAndDisable',function(){
return{
scope:{
clickAndDisable:'&'
},
link:function(scope,iElement,iAttrs){
iElement.bind('click',function(){
iElement.prop('disabled',true);
scope.clickAndDisable().finally(function(){
iElement.prop('disabled',false);
})
});
}
};
})
html:
下一步 //把ng-click改为指令click-and-disable
方法二:在app.config里面,重写ng-click事件,设置一定事件内不能重复点击
$provide.decorator('ngClickDirective',['$delegate','$timeout',function($delegate,$timeout){//记得在config里注入$provide
varoriginal=$delegate[0].compile;
vardelay=500;//设置间隔时间
$delegate[0].compile=function(element,attrs,transclude){
vardisabled=false;
functiononClick(evt){
if(disabled){
evt.preventDefault();
evt.stopImmediatePropagation();
}else{
disabled=true;
$timeout(function(){disabled=false;},delay,false);
}
}
//scope.$on('$destroy',function(){iElement.off('click',onClick);});
element.on('click',onClick);
returnoriginal(element,attrs,transclude);
};
return$delegate;
}]);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 送给员工美好祝福语简短
11 苦难的成语祝福语简短
12 侄儿生日祝福语简短独特
13 新婚快乐所有祝福语简短
14 2026猪年祝福语简短语
15 祝福语同事离职英文简短
16 宝宝新年祝福语大全简短
17 海警工作祝福语简短精辟
18 送水杯祝福语女生简短