Javascript isUndoAvailable和isRedoAvailable在HandContable中未定义

Javascript isUndoAvailable和isRedoAvailable在HandContable中未定义,javascript,jquery,handsontable,Javascript,Jquery,Handsontable,这是我第一次使用掌上电脑。我正在尝试在handsontable的上下文菜单之外设置一个菜单按钮,其中的项目undo/redo,要启用/禁用这些项目,我需要检查表呈现后undo和redo是否可用。令我惊讶的是,当我在afterRender处理程序中调用函数isUndoAvailable和isUndoAvailable时(如文档中所述),它会导致未定义的JS错误 下面是我正在尝试做的一个JSFIDLE示例: var container=document.getElementById'example'

这是我第一次使用掌上电脑。我正在尝试在handsontable的上下文菜单之外设置一个菜单按钮,其中的项目undo/redo,要启用/禁用这些项目,我需要检查表呈现后undo和redo是否可用。令我惊讶的是,当我在afterRender处理程序中调用函数isUndoAvailable和isUndoAvailable时(如文档中所述),它会导致未定义的JS错误

下面是我正在尝试做的一个JSFIDLE示例:

var container=document.getElementById'example'; var hot=新的HandContableContainer, { 数据:数据, 会议记录:1, colHeaders:是的, 上下文菜单:正确, afterRender:函数是强制的{ 如果这个不可用{ //做点什么 } } };

请看一下这个例子。我做错什么了吗


提前感谢。

您似乎偶然发现了一个edge案例,其中undo/redo插件似乎只在afterRender回调后加载

hot.isUndoAvailable()
这在其他回调中有效,至少在我刚才尝试的一些回调中有效。
“这是您的小提琴的更新版本,只需在afterRender回调之外调用IsUndo,它就会工作。

没有人知道吗?”?或者找个工作。请帮忙:谢谢你的回复。但这并不能解决我的问题,因为我想在每次修改/更改表时不断更新undo/redo按钮。我认为afterrender事件更适合于此。实际上,isUndo/RedoAvailable函数并不是仅在第一次afterrender运行期间实例化的,在它们可用后,会在小提琴中检查,它会在每个新渲染上记录函数,即编辑等。