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 相关文章推荐
javascript 解析url的search方法
Feb 09 Javascript
JS 类型转换常见方法小结
May 31 Javascript
JavaScript编程开发中的五个实用小技巧
Jul 22 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
jQuery制作简单柱状图实例
Jan 28 Javascript
javascript中Function类型详解
Apr 28 Javascript
javascript操作ul中li的方法
May 14 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 Javascript
简单了解小程序+node梳理登陆流程
Jun 24 Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 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递归使用示例(php递归函数)
2014/02/14 PHP
php实现文件编码批量转换
2014/03/10 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
通过源码分析Python中的切片赋值
2017/05/08 Python
python用for循环求和的方法总结
2019/07/08 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
港湾网络笔试题
2014/04/19 面试题
《这儿真好》教学反思
2014/02/22 职场文书
合作投资意向书
2014/04/01 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技