JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – angular.js听按键作为按钮的快捷方式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的第一个角度应用是一个非常基本的调查工具.我有多个选择题,每个答案都有一个按钮,一个基本功能是按钮点击下面的每个答案:
ng-click="logAnswer(answer.id)"

我正在寻找的是能够在文档中添加一个按键事件,该文件将监听1,2,3,4,5的键盘响应,与按钮选项匹配并调用相同的功能.

在搜索周围,一旦特定输入字段有焦点,我只能找到与按键相关的响应,这对我没有帮助.我确实发现这个帖子Angular.js keypress events and factories的OPs响应似乎正在朝着正确的方向发展,但是我根本无法弄清楚我的命令如何调用我的功能.

我在我的js中包含了这个指令:

angular.module('keypress',[]).directive('keypressEvents',function($document,$rootScopE) {
    return {
      reStrict: 'A',link: function() {
        $document.bind('keypress',function(E) {
           $rootScope.$broadcast('keypress',e,String.fromCharCode(e.which));
        });
     }
   }
})

但我不知道我如何使用我的控制器中的键绑定对象:

function keyedS(key,parent_evt,evt){
      // key is the key that was pressed
      // parent_evt is the keypress event
      // evt is the focused element object
}
$scope.keyBindings = {
    's': keyedS
}

如何使keybinding对象侦听正在侦听的密钥,并消除我需要的功能?

谢谢

解决方法

捕捉控制器中rootscope发出的事件:
$rootScope.$on('keypress',function (e,a,key) {
    $scope.$apply(function () {
        $scope.key = key;
    });
})

钥匙就是你在控制器中使用.

这是一个fiddle

大佬总结

以上是大佬教程为你收集整理的javascript – angular.js听按键作为按钮的快捷方式全部内容,希望文章能够帮你解决javascript – angular.js听按键作为按钮的快捷方式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。