2012-12-03 34 views
5

Vorrei disabilitare dialogo ritrovamento del ACE Editor, che viene richiamato premendo il Comando + F combinazione di tasti quando l'editor è attivo.Come disattivare Ricerca di ACE Dialog Editor

Ho provato la seguente (tra le altre cose):

document.body.onkeydown = 
document.body.onkeyup = 
document.body.onkeypress = function(event) {  
    return false; 
}; 

Questo impedisce di poter tipo normalmente, ma non interrompe Comando + Una chiave dalla fase di elaborazione.

Come fare per evitare che Comando + F combinazione dalla fase di elaborazione?

Idealmente mi piacerebbe essere in grado di prevenire solo il comando + F combinazione, come io voglio continuare a utilizzare l'altra Comando combinazioni di tasti.

Ho impostato un JSFiddle for this question.

+1

Penso che ti stai avvicinando a questo torto. Dovresti provare a disabilitare la finestra di dialogo Trova, non la scorciatoia da tastiera. –

risposta

6

Andrei Andrushkevich's answer è ora una soluzione migliore e più semplice.


È possibile ridefinire il comando associato al collegamento utilizzando editor.commands.addCommand, e poi basta fornire una funzione vuota. Questa definizione personalizzata avrà la precedenza su quella integrata. In questo caso:

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

Ecco il numero updated JSFiddle. Non ho trovato documentazione chiara, ma here's the editor.commands definition e here's where .addCommands() is. (Nota:. Codice potrebbe essere cambiato da quando questa risposta è stato scritto)

cura come da commento di jcubic

+0

Questo è tutto! Grazie mille! Facepalming me stesso per nulla venire con questo me stesso. –

+0

C'è anche la funzione 'addCommand' che accetta solo oggetto. – jcubic

13

E 'meglio usare 'removeCommand' invece di usare 'addCommand' con gestore falso

editor.commands.removeCommand('find'); 
Problemi correlati