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

在捕获阶段可以进行角度点击过程事件吗?

发布时间:2020-12-17 10:34:36 所属栏目:安全 来源:网络整理
导读:在捕获阶段,是否有可能产生角度点击过程事件,而不是冒泡阶段?我想从父元素汇总数据,从父元素开始,并以点击的元素结束. 让我们看看 ngEventDirs.js#L50点击的源代码 您可以看到使用.on()的ng-click和所有其他事件指令. 所以答案是否定的,这是不可能的. 如果
在捕获阶段,是否有可能产生角度点击过程事件,而不是冒泡阶段?我想从父元素汇总数据,从父元素开始,并以点击的元素结束.
让我们看看 ngEventDirs.js#L50点击的源代码

您可以看到使用.on()的ng-click和所有其他事件指令.

所以答案是否定的,这是不可能的.

如果你真的需要它,你可以编写一个自定义的指令.例如,修改ng-click的代码:

.directive('captureClick',function($parse) {
  return {
    restrict: 'A',compile: function(element,attrs) {
      var fn = $parse(attrs.captureClick);
      return function(scope,element) {
        element[0].addEventListener('click',function(event) {
          scope.$apply(function() {
            fn(scope,{
              $event: event
            });
          });
        },true);
      };
    }
  }
});

并使用它:

<div title="A" ng-click="onBubbled($event)" capture-click="onCaptured($event)">
  <div title="B" ng-click="onBubbled($event)" capture-click="onCaptured($event)">
    <div title="C" ng-click="onBubbled($event)" capture-click="onCaptured($event)">
      Yo!
    </div>
  </div>
</div>

示例Plunker:http://plnkr.co/edit/SVPv0fCNRQX4JXHeL47X?p=preview

(编辑:李大同)

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

    推荐文章
      热点阅读