在Angular中的自定义指令中侦听鼠标事件

法鲁克·亚齐奇(Faruk Yazici)

我有一个名为side-menu的自定义指令,可以在index.html上使用它,如下所示。

<side-menu></side-menu>

指令内部有一个控制器。该控制器位于单独的文件(SidebarController.js)中。以下是我的指令的模板文件:

<div class="sidebarContainer" ng-controller="SidebarController as sidebar">
...
</div>

该控制器侦听指令中的鼠标事件。例如,以下是来自控制器的一行:

angular.element('#sidebarContainer ul li').on('mouseleave', 'li.item > i', function ($event){...})

它侦听指令内列表项上的mouseleave事件。但是,我必须将此控制器携带在指令之外,因为它不会让我在指令上创建隔离的作用域。我更改了index.html的布局,如下所示:

<div class="sidebarContainer">
    <side-menu></side-menu>
</div>

问题是,控制器不再侦听指令内部的任何内容。所有DOM元素仍位于相同的位置。但是,只有当我将其放入指令中时,控制器才会侦听它们。我怎么解决这个问题?

安吉·邦迪(Ankit Pundhir)
  1. 首先,AngularJs如果您在控制器内部使用DOM操作,那将不会很高兴。因此,我们使用directives因此,我建议您在指令中使用所有DOM操作。

  2. 您也可以使用angular提供的事件处理程序(例如ng-mouseleave您的情况)而不是jquery方式。

  3. 同样,孤立的作用域无法捕获在父控制器中定义的方法和变量。为此,您可以使用$parent属性。

例如。 <li class="item" ng-mouseleave="$parent.mouseLeft('Item 1')"><i>Item 1</i></li>

您可以浏览我为您创建的这个代码。

https://plnkr.co/FWhus72HV7v7vTWfmBLQ

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何在Polymer中调度和侦听自定义事件?

来自分类Dev

科尔多瓦Android:如何侦听Javascript中的自定义事件?

来自分类Dev

angular js中的自定义指令

来自分类Dev

如何为页面脚本中的自定义消息创建事件侦听器

来自分类Dev

#if指令中的几个自定义配置

来自分类Dev

为Angular中的自定义指令保留的名称空间?

来自分类Dev

Angular中的多个自定义指令范围

来自分类Dev

我可以以编程方式在自定义指令中应用Angular验证指令吗?

来自分类Dev

使用指令绑定angularjs中的自定义事件

来自分类Dev

清理自定义元素中的事件侦听器

来自分类Dev

如何在d3.js中自定义事件侦听器?

来自分类Dev

HockeyApp中自定义事件的自定义数据

来自分类Dev

jstree angular指令中不同节点的自定义Contexmenu

来自分类Dev

在Vue.js单个文件组件中仅侦听一次自定义事件

来自分类Dev

如何在angular中创建自定义指令

来自分类Dev

Vue 3中的自定义指令

来自分类Dev

使用.on()事件的变量,自定义jQuery插件中的侦听器不会触发

来自分类Dev

科尔多瓦Android:如何侦听Javascript中的自定义事件?

来自分类Dev

自定义指令中的条件ngClass

来自分类Dev

如何为页面脚本中的自定义消息创建事件侦听器

来自分类Dev

如何在angular js中实现自定义指令?

来自分类Dev

如何在Polymer中的自定义元素属性中添加事件侦听器?

来自分类Dev

如何在d3.js中自定义事件侦听器?

来自分类Dev

在自定义指令中调用服务

来自分类Dev

自定义指令中的孤立范围

来自分类Dev

Angular 2侦听组件内部的自定义事件

来自分类Dev

JavaFX 8中具有自定义形状的区域上的鼠标事件

来自分类Dev

自定义事件侦听器中的柯里化(部分函数)

来自分类Dev

如何取消侦听器中的自定义 javascript 事件?

Related 相关文章

  1. 1

    您如何在Polymer中调度和侦听自定义事件?

  2. 2

    科尔多瓦Android:如何侦听Javascript中的自定义事件?

  3. 3

    angular js中的自定义指令

  4. 4

    如何为页面脚本中的自定义消息创建事件侦听器

  5. 5

    #if指令中的几个自定义配置

  6. 6

    为Angular中的自定义指令保留的名称空间?

  7. 7

    Angular中的多个自定义指令范围

  8. 8

    我可以以编程方式在自定义指令中应用Angular验证指令吗?

  9. 9

    使用指令绑定angularjs中的自定义事件

  10. 10

    清理自定义元素中的事件侦听器

  11. 11

    如何在d3.js中自定义事件侦听器?

  12. 12

    HockeyApp中自定义事件的自定义数据

  13. 13

    jstree angular指令中不同节点的自定义Contexmenu

  14. 14

    在Vue.js单个文件组件中仅侦听一次自定义事件

  15. 15

    如何在angular中创建自定义指令

  16. 16

    Vue 3中的自定义指令

  17. 17

    使用.on()事件的变量,自定义jQuery插件中的侦听器不会触发

  18. 18

    科尔多瓦Android:如何侦听Javascript中的自定义事件?

  19. 19

    自定义指令中的条件ngClass

  20. 20

    如何为页面脚本中的自定义消息创建事件侦听器

  21. 21

    如何在angular js中实现自定义指令?

  22. 22

    如何在Polymer中的自定义元素属性中添加事件侦听器?

  23. 23

    如何在d3.js中自定义事件侦听器?

  24. 24

    在自定义指令中调用服务

  25. 25

    自定义指令中的孤立范围

  26. 26

    Angular 2侦听组件内部的自定义事件

  27. 27

    JavaFX 8中具有自定义形状的区域上的鼠标事件

  28. 28

    自定义事件侦听器中的柯里化(部分函数)

  29. 29

    如何取消侦听器中的自定义 javascript 事件?

热门标签

归档