【问题标题】:Trying to create a keyboard shortcut for a button using Angular尝试使用 Angular 为按钮创建键盘快捷键
【发布时间】:2015-10-12 09:06:13
【问题描述】:

我希望能够为我正在构建的应用程序中的按钮设置键盘快捷键。我希望能够将键盘按钮代码作为参数传递以使其可配置。到目前为止,这是我在卡住之前使用文档的内容。 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 数据的正确方法。

我也可能采取了完全错误的方法,因此我们将不胜感激。

谢谢

【问题讨论】:

标签: angularjs button keypress


【解决方案1】:

对于问题a)。

对于 b):

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

否则,我查询的某些帖子似乎成功了。 您可以看到它的外观,例如在这篇文章中 (Is it possible to listen for arrow keyspress using ng-keypress?) 试图设置科乐美代码的人。

此外,根据您使用的浏览器(Chrome、Firefox、Safari、IE),您似乎可能会遇到问题。当心。

希望对你有帮助。

【讨论】:

  • 所有有用的点。谢谢。关于 a),我们的用户将使用键盘在屏幕中导航,因此我们希望能够为某些按钮分配键盘快捷键。如果 ng-keypress 用于输入,是否有另一种触发按钮按下的方式?
【解决方案2】:

您好,有一个非常适合您的场景的插件,您可以查看以下链接

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

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

What is AngularJS way to create global keyboard shortcuts?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-30
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多