我使用handsontable库和我很惊讶,当我发现没有一个onEdit
回调 。
我试图通过使用一个用户提供的脚本来创建它的是同样的问题,但似乎它的旧版本,它不工作了。
我试图找出如何添加一个钩子,但它的文档是相当差的handsontable。 是否有人知道如何为handsontable建立这样一个回调?
我使用handsontable库和我很惊讶,当我发现没有一个onEdit
回调 。
我试图通过使用一个用户提供的脚本来创建它的是同样的问题,但似乎它的旧版本,它不工作了。
我试图找出如何添加一个钩子,但它的文档是相当差的handsontable。 是否有人知道如何为handsontable建立这样一个回调?
仅捕获双击是不够的,因为用户还可以通过输入回车键或F1键编辑模式。
一种解决方案缺乏onEdit
回调注册一个自定义编辑器。 这样,它非常适合在所有的编辑,保存退出周期(例如Esc键关闭编辑器并失去所有的变化)。 下面是它扩展了内置的默认和一个非常简化编辑TextEditor
:
var LoggingEditor = Handsontable.editors.TextEditor.prototype.extend();
LoggingEditor.prototype.getValue = function() {
console.log('User finished editing the cell, the value will be set to: '
+ this.TEXTAREA.value);
return this.TEXTAREA.value;
};
LoggingEditor.prototype.setValue = function(newValue){
console.log('User started editing the cell, value shown in cell is: '
+ newValue);
this.TEXTAREA.value = newValue;
};
该解决方案,但是,是不是通用的,因为如果使用一个以上的编辑器,它必须被替换了。 它应该在简单的情况下工作,虽然。 完整的例子中可以找到这个小提琴 。