Ace Editor删除addKeyboardHandler

时间:2016-12-17 22:06:01

标签: javascript ace-editor

我在网络应用中使用名为firepad的开源编辑器。底层文本编辑器是Ace。我在这里发现了另一篇文章,解释了如何在Ace编辑器中创建readOnly代码块:Ace Editor: Lock or Readonly Code Segment

此代码适用于我只读取一个指定的段,但我希望能够删除readOnly限制。我可以删除表示已锁定的ace Marker,但我仍然无法输入该范围。我想删除键盘处理程序。这就是我的代码:

    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方法的任何文档。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

使用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