我在网络应用中使用名为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方法的任何文档。任何帮助将不胜感激!
答案 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