angular ng-click防止重复提交实例


Posted in Javascript onJune 16, 2017

方法一:点击后,让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:

<button type="button" class="btn btn-info btn-bordered waves-effect w-md waves-light" click-and-disable="next()">下一步</button>   //把 ng-click 改为指令click-and-disable

方法二:在app.config里面,重写ng-click事件,设置一定事件内不能重复点击

$provide.decorator('ngClickDirective',['$delegate','$timeout', function ($delegate,$timeout) { //记得在config里注入$provide
      var original = $delegate[0].compile;
      var delay = 500;//设置间隔时间
      $delegate[0].compile = function (element, attrs, transclude) {

        var disabled = false;
        function onClick(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);

        return original(element, attrs, transclude);
      };
      return $delegate;
    }]);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
BootStrap glyphicon图标无法显示的解决方法
Sep 06 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 Javascript
ES6新特性之变量和字符串用法示例
Apr 01 Javascript
React 组件中的 bind(this)示例代码
Sep 16 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
微信小程序实现录音Record功能
May 09 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 #Javascript
vue实现全选、反选功能
Nov 17 #Javascript
vue中将网页打印成pdf实例代码
Jun 15 #Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 #Javascript
Angularjs为ng-click事件传递参数
Jun 15 #Javascript
详解原生js实现offset方法
Jun 15 #Javascript
微信小程序 监听手势滑动切换页面实例详解
Jun 15 #Javascript
You might like
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
Smarty变量用法详解
2016/05/11 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP钩子实现方法解析
2019/05/21 PHP
jquery 锁定弹出层实现代码
2010/02/23 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
详解Python中的分支和循环结构
2020/02/11 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
详解Python 循环嵌套
2020/07/09 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
卫生安全检查制度
2014/02/04 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
应聘教师求职信范文
2015/03/20 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
小学中队活动总结
2015/05/11 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
《颐和园》教学反思
2016/02/19 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
python编写五子棋游戏
2021/05/25 Python