Node.js 按用户定义快捷键(在web应用中按用户添加或编辑)?
我有一个使用angular 7.0和Nodejs创建的web应用程序。我想添加一个快捷键引擎(用户可自定义),如Microsoft Word,用户可以添加、编辑或修改此应用程序中某些功能的默认快捷键。有没有这样做的代码或提示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/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首选项。您创建了一个用户界面,这样您的用户就可以设置其密钥绑定,您可以存储它们,然后每次用户出现在您的应用程序上时,您都可以加载其首选项并遵循软件包文档。