spreadJs禁用与重写快捷键的方法
禁用快捷键
禁用某个快捷键用到的函数是:
setShortcutKey(commandName, key, ctrl, shift, alt, meta);
参数:
commandName:绑定事件名,将commandName设置为undefined的命令名称将删除快捷键的绑定命令。
key:快捷键,将键码设置为undefined的键码将删除命令的快捷键。
ctrl:如果命令使用Ctrl键,则为true;否则为false。
Shift:如果命令使用Shift键,则为true;否则为false。
alt:如果命令使用Alt键,则为true;否则为false。
meta:如果命令使用Macintosh上的Command键或Microsoft Windows上的Windows键,则为true;否则为false。
eg:
//禁用Ctrl + C
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.c, true, false, false, false);
//禁用Shift + C
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.c, false, true, false, false);
//禁用Ctrl + V
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.v, true, false, false, false);
重写快捷键
//=========重写tab快捷键=========
//先禁用tab
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.tab, false, false, false, false);
//编写绑定事件
spread.commandManager().register('tabCmdName',{canUndo: true,
execute: function (context, options, isUndo) {
var Commands = GC.Spread.Sheets.Commands;
options.cmd = "tabCmdName";
if (isUndo) {
Commands.undoTransaction(context, options);
return true;
} else {
//具体实现
...
...
return true;
}
}});
//绑定tab事件
spread.commandManager().setShortcutKey("tabCmdName", GC.Spread.Commands.Key.tab, false, false, false, false);