Ace:禁用按键时的视图更改,仍然需要有关更改发生的信息

Ace: Disabling view changes on pressing key, still want info on change occured

我是 Ace 编辑器的新手 API。 问题:我想在按下某个键时禁用视图中的 "immediate" 更新。我想根据我的需要转换这些更改说 'buffer' 这些更改并稍后使用插入方法进行这些文本更改在文档中提到。 文档提到了一种 setReadOnly 方法来禁用文档中的更改,但它也禁用了文本更改通知。 我怎样才能达到预期的行为?

更改事件只能用作通知,在文档实际更改后触发。 如果你想缓冲用户输入,你可以添加一个防止更改事件的键盘处理程序

editor.keyBinding.addKeyboardHandler(function(data, hashId, keyString, keyCode, e) {
   if (hashId == -1) {
       console.log("typed text", keyString)
       return {command: "null"}; // do nothing
   }

})