Ace JS Editor - 在编辑器中启用/禁用撤消和重做按钮

时间:2015-05-27 21:01:38

标签: javascript ace-editor

我在尝试实现一种方法时遇到一些问题,根据UndoManager自动启用或禁用我的撤消和重做按钮。

var editor = ace.edit(editorElement);

editor.on('change', function (e) {
  var um = editor.getSession().getUndoManager();
  $('button.undo').attr('disabled', um.hasUndo() ? false : true );
  $('button.redo').attr('disabled', um.hasRedo() ? false : true );
});

当您对文档进行第一次更改时,它不会更改按钮的禁用状态。此时,UndoManager尚未被告知存在更改。

我没有看到任何适合测试UndoManager状态的事件。

1 个答案:

答案 0 :(得分:3)

使用input事件代替change事件。在change事件触发后,undomanager会更新为异步,并在此之后发出input事件。