在MS Excel中,用户可以使用Ctrl+Enter快捷键来快速填充单元格的值。如下图:
但是在SpreadJS中,实现这样功能的快捷键是Ctrl+Shift+Enter,如下图:
虽然在SpreadJS中可以实现这样的需求,使用的快捷键却和Excel中的不一样,如果要和Excel保持一致也使用Ctrl+Enter来实现会怎么样呢?
使用命令进行了填充的操作,绑定到Ctrl+Enter上后并没有生效,而是进行了换行的操作:
为了解决这样的问题,可以参考下面的代码来实现:
- var isReservedKeyFn = GC.Spread.Sheets.CellTypes.Text.prototype.isReservedKey;
- GC.Spread.Sheets.CellTypes.Text.prototype.isReservedKey = function (evt, context) {
- var { keyCode, ctrlKey, altKey, shiftKey } = evt;
- if (keyCode === 13 && ctrlKey && !shiftKey && !altKey) {
- return false;
- }
- return isReservedKeyFn.apply(this, arguments);
- }
- spread.commandManager().register('customCommitArrayFormula', GC.Spread.Sheets.Commands.commitArrayFormula, GC.Spread.Commands.Key.enter, true, false, false, false);
复制代码
|
|