首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在角应用程序中实现键盘快捷键

在角应用程序中实现键盘快捷键
EN

Stack Overflow用户
提问于 2014-04-22 14:51:31
回答 1查看 2.3K关注 0票数 0

我目前正在使用指令实现键盘快捷键在我的角度应用程序。该指令名为"keyCapture“。它包含在索引页的body标记中。

代码语言:javascript
复制
  <body ng-controller="MainCtrl" key-capture>

这个指令混合使用$broadcast和其他方法来完成任务。

代码语言:javascript
复制
angular.module('plunker').directive('keyCapture',['$state','$rootScope',function($state, $rootScope){
  var shortCutKeys = [];

  return {
    link: function(scope,element,attrs,controller){
      element.on('keydown',function(e){
        shortCutKeys.push(e.keyCode);
        if (shortCutKeys.length === 2){
           var key2 = shortCutKeys.pop();
          var key1 = shortCutKeys.pop();

            /*press g and 1 - navigate to a different state*/
          if (key1 === 71 && key2 == 49) {
            $state.transitionTo('option1');
          }  

          /*press g and 2  - navigate to a different state*/
          if (key1 === 71 && key2 == 50) {
            $state.transitionTo('option2');
          }

          /*press g and 3  - call a function */
          if (key1 === 71 && key2 == 51) {
            $rootScope.$broadcast('option1-event1')
          }

          /*press g and 4  - call a function*/
          if (key1 === 71 && key2 == 52) {
            $rootScope.$broadcast('option1-event2')
          }

        }
      })
    }

  };

}]);

plnkr可在这里获得:http://plnkr.co/yqS3O3wGoiE00tPOzcLP

我怀疑这是否是实现键盘快捷键进入应用程序的正确方式。任何人都对如何将键盘快捷键集成到应用程序中有更好的了解。请评论..。或者更好的活动..。用一些代码示例来解释。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-22 14:54:54

你查过角热键了吗?“角斗士”的项目经理布拉德·格林( Brad )曾多次提到过它是多么令人敬畏。除非你只是在努力学习,否则可能比实现你自己更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23222980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档