如何禁用ACE编辑器的查找对话框

Mic*_*son 7 html javascript ace-editor

我想禁用ACE编辑器的查找对话框,当编辑器具有焦点时,通过按 Command+ F键组合调用该对话框.

我尝试了以下(除其他外):

document.body.onkeydown = 
document.body.onkeyup = 
document.body.onkeypress = function(event) {      
    return false;
};
Run Code Online (Sandbox Code Playgroud)

这可以防止人们正常输入,但不会阻止Command+ A key处理.

如何防止Command+ F组合被处理?

理想情况下,我希望能够仅阻止Command+ F组合,因为我想继续使用其他Command组合键.

我为这个问题设置了一个JSFiddle.

And*_*ich 22

最好使用'removeCommand'而不是使用'addCommand'和假处理程序

editor.commands.removeCommand('find');
Run Code Online (Sandbox Code Playgroud)


Fél*_*lli 7

Andrei Andrushkevich的答案现在是一个更好,更简单的解决方案.


您可以使用重新定义与快捷方式关联的命令editor.commands.addCommand,然后只提供一个空函数.此自定义定义将优先于内置定义.在这种情况下:

editor.commands.addCommand({
    name: "unfind",
    bindKey: {
        win: "Ctrl-F",
        mac: "Command-F"
    },
    exec: function(editor, line) {
        return false;
    },
    readOnly: true
})
Run Code Online (Sandbox Code Playgroud)

这是更新的JSFiddle.我没有找到明确的文档,但这里是editor.commands定义,这里.addCommands()是什么.(注意:自编写此答案以来,代码可能已更改.)

根据jcubic的评论编辑