当前位置: 首页 > 面试题库 >

在捕获阶段,angularjs可以单击处理事件吗?

狄鸿禧
2023-03-14
问题内容

在捕获阶段而不是冒泡阶段是否可能会出现angularjs ng-click处理事件?我想按照从父项开始到被单击元素结束的顺序汇总每个父项元素的数据


问题答案:

让我们ng- click在ngEventDirs.js#L50上查看源代码

如您所见,ng-click和使用所有其他事件指令.on()

因此,答案是 否定的,这是不可能的

如果确实需要,可以为此编写一个自定义指令。例如,修改一下代码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>

柱塞示例: http

://plnkr.co/edit/SVPv0fCNRQX4JXHeL47X?p=preview



 类似资料:
  • 本文向大家介绍js事件代理在捕获阶段的实际应用?相关面试题,主要包含被问及js事件代理在捕获阶段的实际应用?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 可以在父元素层面阻止事件向子元素传播,也可代替子元素执行某些操作。

  • 我在JavaFX中有一个阶段,可以通过多种方式关闭,通过单击红色(X)或通过调用的按钮 无论舞台如何关闭,我都想在舞台关闭之前(或关闭时)执行一个动作。 如果我使用以下代码: 然后,当我单击(X)时调用处理程序,但当我调用<code>myStage.close()</code>时不会调用 这与这个问题讨论的问题相同(有一个关键区别):JavaFX:Stage-close-handler 不同之处在

  • 我只是想知道我是不是做错了什么,因为我对这一切都是陌生的<如果您还有什么需要我补充的,请告诉我 这是回购分支,如果您想查看所有代码,我将尝试在其中实现ViewPager。 所以我有4个用表示的类别,每个类别都包含一个的项目,每个项目都有一个,应该会再现一些音频。 我正在尝试使用ViewPager显示,但问题是当我从滚动到另一个,然后回到已经创建的时,它不会注册触摸事件,什么都不会发生,甚至没有错误

  • 我是PyQt5的新手,下面的代码出现了一个错误(pythonw.exe不再工作):

  • 问题内容: 我想阻止标准上下文菜单,并手动处理右键单击事件。 怎么做? 问题答案: 使用事件。 这是一个例子: 并使用事件监听器: 不要忘记返回false,否则仍会弹出标准上下文菜单。 如果要使用编写的函数而不是,请记住在函数和属性中都返回false 。

  • 本文向大家介绍使用Python和OpenCV捕获鼠标单击事件,包括了使用Python和OpenCV捕获鼠标单击事件的使用技巧和注意事项,需要的朋友参考一下 使用的模块: 在本文中,我们将使用Python-openCV(cv2)和NumPy模块。 Python-opencv(cv2): Python-opencv(cv2)是一个python库,它将帮助我们解决开源计算机视觉问题。 NumPy: Nu