尝试使用Angular为按钮创建键盘快捷键

时间:2015-10-12 09:06:13

标签: angularjs button keypress

我希望能够在我正在构建的应用程序中为按钮设置键盘快捷键。我希望能够将键盘按钮代码作为参数传递,以使其可配置。这是我到目前为止使用文档之前遇到的问题。 HTML:

<div ng-controller="BtnCtrl">
                <button class="primary-btn" type="submit" ng-keypress="press($event, '12')">Button</button>
            </div>

JavaScript的:

angular.module('App')
.controller('BtnCtrl', function ($scope) {
    $scope.press = function($event, hotKeyRef) {
        if ($event.keyCode==hotKeyRef) {
             //need some code here to trigger the button press
        }
    }
});

因此,使用我的方法,我不确定a)如何从函数内部触发按钮按下,以及b)这是否是传递keyCode数据的正确方法。

我可能也会采取完全错误的方法,因此任何其他指导都将受到赞赏。

由于

2 个答案:

答案 0 :(得分:0)

对于问题a)。

&lt;的主要用途按钮&gt; html元素是在点击时触发事件。 所以如果你想使用按键,为什么要使用这个元素呢?我真的不明白你想要达到的目标。这似乎是有争议的。

表示b):

默认情况下,ng-keypress旨在用于输入元素。

否则,似乎我询问的一些帖子设法使其成功。 您可以看到它的外观,例如在这篇文章中Is it possible to listen for arrow keyspress using ng-keypress?) 试图设置konami代码的人。

此外,您可能会遇到麻烦,具体取决于您使用的浏览器(Chrome,Firefox,Safari,IE)。小心。

我希望这可以帮到你。

答案 1 :(得分:0)

嗨,你的场景有一个很棒的插件你可以查看下面的链接

https://github.com/chieffancypants/angular-hotkeys/

你也可以查看下面的stackoverflow链接

What is AngularJS way to create global keyboard shortcuts?