加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在angleJS中拦截点击

发布时间:2020-12-17 08:13:27 所属栏目:安全 来源:网络整理
导读:是否可以编写一个拦截器进行ng点击? 我有一个按钮或链接,导致在后端删除对象。我想通过添加一个属性到按钮/链接来有一个确认对话框(模态)。例如。: a href="#" ng-click="deleteIt(id)" confirmation-neededDelete/a 这是否可能与AngularJS?有没有更好的
是否可以编写一个拦截器进行ng点击?
我有一个按钮或链接,导致在后端删除对象。我想通过添加一个属性到按钮/链接来有一个确认对话框(模态)。例如。:
<a href="#" ng-click="deleteIt(id)" confirmation-needed>Delete</a>

这是否可能与AngularJS?有没有更好的办法解决这个问题?

编辑deleteIt方法驻留在不同的控制器中。

谢谢

我已经提出了一个示例指令:

http://plnkr.co/edit/GJwK7ldGa9LY90bMuOfl?p=preview

我通过创建一个指令来实现它:

>具有比ngClick更高的优先级,以便在ngClick之前被调用,
>使终端不要调用ngClick。
>听单击事件,然后评估ngClick值,如果消息确定。

作为奖金,您可以传递自己的消息,如:

<a href="#" ng-click="deleteIt(id)" 
    confirmation-needed="Really Delete?"
        >Delete with custom message</a>

代码如下所示:

app.directive('confirmationNeeded',function () {
  return {
    priority: 1,terminal: true,link: function (scope,element,attr) {
      var msg = attr.confirmationNeeded || "Are you sure?";
      var clickAction = attr.ngClick;
      element.bind('click',function () {
        if ( window.confirm(msg) ) {
          scope.$eval(clickAction)
        }
      });
    }
  };
});

希望有帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读