Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 按用户定义快捷键(在web应用中按用户添加或编辑)?_Node.js_Angular_Web Applications - Fatal编程技术网

Node.js 按用户定义快捷键(在web应用中按用户添加或编辑)?

Node.js 按用户定义快捷键(在web应用中按用户添加或编辑)?,node.js,angular,web-applications,Node.js,Angular,Web Applications,我有一个使用angular 7.0和Nodejs创建的web应用程序。我想添加一个快捷键引擎(用户可自定义),如Microsoft Word,用户可以添加、编辑或修改此应用程序中某些功能的默认快捷键。有没有这样做的代码或提示 我想这很适合你的需要 我知道这里有一个答案,但我会尽最大努力远离软件包,除非我准备深入研究我将要添加到项目中的代码类型 下面是在键盘事件上触发函数的Angular/JavaScript方法 @HostListener('window:keyup', ['$event'])

我有一个使用angular 7.0和Nodejs创建的web应用程序。我想添加一个快捷键引擎(用户可自定义),如Microsoft Word,用户可以添加、编辑或修改此应用程序中某些功能的默认快捷键。有没有这样做的代码或提示


我想这很适合你的需要

我知道这里有一个答案,但我会尽最大努力远离软件包,除非我准备深入研究我将要添加到项目中的代码类型

下面是在键盘事件上触发函数的Angular/JavaScript方法

@HostListener('window:keyup', ['$event']) keyEvent(event: KeyboardEvent) {
    if (event.key === 27 || event.key === 13) {
        // console.log(event.key);
    }
}
我通常使用或记录按键来查找我的键号

基于有关用户特定密钥绑定的注释问题的伪代码。

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

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
}

您尝试了什么?用户如何为自己定义特定功能的快捷方式?您需要将其首选项保存为其用户对象的一部分。然后监听器会变得动态,监听他们的关键事件。我将为此添加一些伪代码。您能推荐一些演示或示例链接吗?由于用户选择的密钥绑定,作为示例,这可能会非常大。这是定制的,我不知道有哪一个库或包可以做到这一点。您是否有开发人员帮助您添加用户选项?
e.which
e.keyCode
都不推荐使用
e.key
e.code
应改为使用,这也使代码更容易理解。请记住,一些旧的浏览器使用了一些非标准代码,因此左侧通常是
'LeftArrow'
,右侧是
'RightArrow'
,但在IE和旧版Edge上,它们将是
'left'
'right'
。另外,看一看。我将很快添加有关此类跨浏览器不兼容的信息!用户如何为自己定义特定功能的快捷方式?我感到惊讶!这是错误的,我认为您有一个可以将用户首选项存储在localStorage或数据库中的选项。如果您的用户已登录,我不知道您计划如何存储自定义的keybinds首选项。您创建了一个用户界面,这样您的用户就可以设置其密钥绑定,您可以存储它们,然后每次用户出现在您的应用程序上时,您都可以加载其首选项并遵循软件包文档。