angularjs - 如果在文档中的任何地方按下一个键,如何获得按键?

标签 angularjs

我试图随时随地触发按键事件,只要我按下 enter,但我只能通过在 DOM 元素中使用 ng-keypress 来指定。

我使用带有这段代码的纯 javascript 得到了这个结果:

document.onkeydown = function(e){
    if(e.keyCode === 13){
      //do something
    }
}

但我不确定这是最好的方法,还是“有 Angular 的方法”。

最佳答案

我会把它包装在一个指令中,然后从那里开始,例如:

angular.module("myApp").directive("keypressDetector", function() {
    return {
        restrict: "A",
        link: function(scope, elem, attrs) {
            document.onkeydown = function(e){
                if(e.keyCode === 13){
                    //do something
                }
            }
        }
    }
})

并使用它:

<body keypress-detector></body>

关于angularjs - 如果在文档中的任何地方按下一个键,如何获得按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46329525/

相关文章:

angularjs - 类型上不存在属性。 typescript

javascript - 如何从返回的 promise 值中跳出循环?

javascript - 使用 pdfMake 下载多个文件

javascript - 像 Angular 中的 jQuery 一样触发事件和 DOM 操作

javascript - 引用错误 : youtubeBgVideoStyle is not defined

javascript - 如何打开 ionic 列表中的特定 ionic 项目

javascript - 将复选框绑定(bind)到模型并在 Angular 中选中/取消选中它

javascript - 未知提供商factoryprovider <- 工厂<- Controller Angular js

javascript - 如何禁用 Angular Material 中的内置按键操作?

javascript - 必须单击单选按钮两次才能使用 AngularJS 更改 html 元素