Ace 编辑器删除 addKeyboardHandler

Ace Editor deleting addKeyboardHandler

我在 Web 应用程序中使用名为 firepad 的开源编辑器。底层文本编辑器是 Ace。我在这里找到另一个 post 解释如何在 Ace 编辑器中创建只读代码块:Ace Editor: Lock or Readonly Code Segment

此代码适用于将指定的段设置为只读,但我希望能够删除只读限制。我可以删除表示已锁定区域的 ace 标记,但我仍然无法输入范围。我想删除键盘处理程序。这是我的代码的样子:

    editor.keyBinding.addKeyboardHandler({
        handleKeyboard : function(data, hash, keyString, keyCode, event) {
            if (hash === -1 || (keyCode <= 40 && keyCode >= 37)) return false;

            if (intersects(range)) {
                return {command:"null", passEvent:false};
            }
        }
    });

我在网上找不到任何关于 addKeyboardHandler 方法的文档。任何帮助将不胜感激!

使用removeKeyboardHandler方法删除它https://github.com/ajaxorg/ace/blob/f757c8568/lib/ace/keyboard/keybinding.js#L80

var kb = { handleKeyboard : function() {...} }
editor.keyBinding.addKeyboardHandler(kb) // add kb
editor.keyBinding.removeKeyboardHandler(kb) // remove kb