找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

200

主题

9899

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
15533

讲师达人悬赏达人微信认证勋章SpreadJS 认证SpreadJS 高级认证元老葡萄

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-4-6 21:37  /   查看:4298  /  回复:0
本帖最后由 Fiooona 于 2020-7-24 14:38 编辑

SpreadJS中是存在很多快捷键设置的,虽然这些快捷键的键位都是参考了Excel或者通用的键位设置。但是在实际的业务需求中,往往有时候需要禁用这些快捷键。比如有些业务中我们需要禁止用户的复制,粘贴操作。我们在禁用了菜单的复制粘贴操作后,会发现用户还可以通过CTRL+C和CTRL+V来进行复制粘贴。这时候我们就需要禁用掉复制粘贴的快捷键。我们可以通过SpreadJS中的注册键盘监听的方法来禁用掉这些快捷键。具体操作如下:
首先,我们需要了解注册键盘监听的方法setShortCutKey
https://demo.grapecity.com.cn/spreadjs/help/latest/content/SpreadJS~GC.Spread.Commands.CommandManager~setShortcutKey.html
这个方法本身是用来将某个命令注册到某个键盘热键上去触发。
image.png945557250.png
上面是setShortCutKey的传递参数,第一个是命令的名称,第二个是触发键的keycode,第三个是是否需要辅助键ctrl,第四个是是否需要辅助键shift,第五个是是否需要辅助键alt。
这里我们就可以巧妙利用这一点,首先在命令名称上,由于我们要禁用,所以传一个null进去,就可以让这个对应的键盘操作什么也不做

接下来我们需要设置对应的触发键,我们查一下C键的keycode是67,那么这里第二个参数传67进去。
之后由于复制是ctrl+c,所以第三个参数我们需要传true,对应的第四,第五个参数需要传false。
最后这个命令就变成了。
spread.commandManager().setShortcutKey(null, 67, true, false, false, false);如此这般就可以禁用掉ctrl+c的复制键盘操作了,粘贴同理。

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部