如何在AngularJS中广播和获取按键事件?

萨曼莎JT星

我已经有了以下代码:

<body ng-keydown="key($event);" ng-controller="appController">

function appController($scope) {

    $scope.key = function($event){
        console.log($event.keyCode);
        if ($event.keyCode == 38)
            alert("up arrow");
        else if ($event.keyCode == 39)
            alert("right arrow");
        else if ($event.keyCode == 40)
            alert("down arrow");
        else if ($event.keyCode == 37)
            alert("left arrow");
    }
}

但是我只有一个控制器,如果按下箭头键,当它存在于体内时,需要调用一个函数。

我该如何将它们中的事件从我的appController向下连接到较低级别的控制器(在这种情况下称为questionController)?

Pankaj Parkar

如果您要在主父控制器上维护事件,则$ broadcast事件将发送给孩子的内部$scope

$scope.key = function($event) {
    $scope.$broadcast('key', $event)
}

$scope.$on = function(event, keyEvent) {
    console.log($event.keyCode);
    if (keyEvent.keyCode == 38)
        alert("up arrow");
    else if (keyEventt.keyCode == 39)
        alert("right arrow");
    else if (keyEvent.keyCode == 40)
        alert("down arrow");
    else if (keyEvent.keyCode == 37)
        alert("left arrow");
}

无需$broadcast在内部使用$rootScope,因为所有子作用域都会侦听此事件。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在AngularJS中广播和接收按键事件?

来自分类Dev

如何测试已在AngularJS中广播的事件?

来自分类Dev

在Firefox OS中广播事件

来自分类Dev

如何在控制台中获取不同按键的按键事件

来自分类Dev

如何在Rust中广播UDP数据报并接收响应?

来自分类Dev

如何在pyspark中广播一个巨大的rdd?

来自分类常见问题

如何在AngularJS中将广播事件注销到rootscope?

来自分类Dev

如何在Android上的angular中获取按键事件?

来自分类Dev

在AngularJS中广播不同的控制器

来自分类Dev

广播和发射内部机制如何在angularjs中工作?

来自分类Dev

广播和发射内部机制如何在angularjs中工作?

来自分类Dev

如何模拟angularJS输入的按键事件?

来自分类Dev

如何获取DataGridViewComboboxColumn SelectedIndex按键事件?

来自分类Dev

如何在C ++中处理按键事件

来自分类Dev

如何在广播接收器的帮助下获取相机单击事件?

来自分类Dev

如何在广播接收器的帮助下获取相机单击事件?

来自分类Dev

如何在带有 shift 的按键事件中获取编号键的原始键映射?

来自分类Dev

GTK / Python:如何获取按键事件以编辑和导航TreeView单元?

来自分类Dev

在python / NumPy中广播/向量化内部和外部for循环

来自分类Dev

如何在服务和广播接收器中检测关键事件

来自分类Dev

获取最近广播的事件

来自分类Dev

在 Flink 中广播 HashMap

来自分类Dev

如何使用Camel在同一JVM进程中广播消息?

来自分类Dev

如何避免在Spark中广播大型查询表

来自分类Dev

如何使用AngularJS进行广播和活动?

来自分类Dev

如何触发按键或按键事件

来自分类Dev

如何在Swift中获取按键

来自分类Dev

Laravel:Pusher事件不会从雄辩的事件监听器中广播

来自分类Dev

如何在Python中按键盘上的按键A和D

Related 相关文章

  1. 1

    如何在AngularJS中广播和接收按键事件?

  2. 2

    如何测试已在AngularJS中广播的事件?

  3. 3

    在Firefox OS中广播事件

  4. 4

    如何在控制台中获取不同按键的按键事件

  5. 5

    如何在Rust中广播UDP数据报并接收响应?

  6. 6

    如何在pyspark中广播一个巨大的rdd?

  7. 7

    如何在AngularJS中将广播事件注销到rootscope?

  8. 8

    如何在Android上的angular中获取按键事件?

  9. 9

    在AngularJS中广播不同的控制器

  10. 10

    广播和发射内部机制如何在angularjs中工作?

  11. 11

    广播和发射内部机制如何在angularjs中工作?

  12. 12

    如何模拟angularJS输入的按键事件?

  13. 13

    如何获取DataGridViewComboboxColumn SelectedIndex按键事件?

  14. 14

    如何在C ++中处理按键事件

  15. 15

    如何在广播接收器的帮助下获取相机单击事件?

  16. 16

    如何在广播接收器的帮助下获取相机单击事件?

  17. 17

    如何在带有 shift 的按键事件中获取编号键的原始键映射?

  18. 18

    GTK / Python:如何获取按键事件以编辑和导航TreeView单元?

  19. 19

    在python / NumPy中广播/向量化内部和外部for循环

  20. 20

    如何在服务和广播接收器中检测关键事件

  21. 21

    获取最近广播的事件

  22. 22

    在 Flink 中广播 HashMap

  23. 23

    如何使用Camel在同一JVM进程中广播消息?

  24. 24

    如何避免在Spark中广播大型查询表

  25. 25

    如何使用AngularJS进行广播和活动?

  26. 26

    如何触发按键或按键事件

  27. 27

    如何在Swift中获取按键

  28. 28

    Laravel:Pusher事件不会从雄辩的事件监听器中广播

  29. 29

    如何在Python中按键盘上的按键A和D

热门标签

归档