按用户定义快捷键(在Web应用程序中按用户添加或编辑)?

时间:2019-06-17 14:14:54

标签: node.js angular web-applications

我有一个使用angular 7.0和Node.js创建的Web应用程序。我想添加一个快捷方式引擎(用户可自定义),例如Microsoft Word,用户可以为该应用程序中的某些功能添加或编辑或修改默认快捷键。这样做有什么代码或提示吗?

enter image description here

2 个答案:

答案 0 :(得分:2)

我知道这里有一个答案,但是我会尽量避免使用软件包,除非我准备深入研究要添加到项目中的代码类型。

这是在键盘事件上触发功能的Angular / JavaScript方法。

@HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent) {
    if (event.keyCode === 27 || event.keyCode === 13) {
        // console.log(event.keyCode);
    }
}

我通常使用keycode.info或登录按键来查找我的按键编号。

基于评论问题的伪代码,有关用户特定的键绑定。

模拟用户对象保存在数据库中

user {
    ...
    bindings{
        featureOne: 27 // key chosen by user for featureOne
        featureTwo: 13 // key chosen by user for featureTwo
    }
}

然后您可以在侦听器中引用这些选择

if (event.keyCode === user.bindings.featureOne) {
   // trigger featureOne
}

答案 1 :(得分:1)

我想this package符合您的需求!