2012-12-03 10 views
5

निष्क्रिय करने के लिए कैसे मैं ऐस संपादक की ढूंढें संवाद है, जो कमान + एफ कुंजी संयोजन दबाने जब संपादक ध्यान केंद्रित है द्वारा शुरू हो जाती है अक्षम करना चाहते हैं।ऐस संपादक का ढूँढें संवाद

मैं निम्नलिखित (अन्य बातों के अलावा) की कोशिश की है:

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

यह सामान्य रूप से टाइप करने के लिए सक्षम किया जा रहा से एक होने से बचाता है, लेकिन कार्रवाई की जा रही से नहीं रुकती कमान + एक प्रमुख

कैसे संसाधित किया जा रहा से कमान + एफ संयोजन को रोकने के लिए करते हैं?

आदर्श रूप में मैं केवल कमान + एफ संयोजन को रोकने के लिए, जैसा कि मैंने अन्य कमान कुंजी संयोजन उपयोग जारी रखना चाहते सक्षम होने के लिए करना चाहते हैं।

मैंने JSFiddle for this question स्थापित किया है।

+1

मुझे लगता है कि आप इस गलत तरीके से आ रहे हैं। आपको कुंजी शॉर्टकट नहीं, खोज संवाद को अक्षम करने का प्रयास करना चाहिए। –

उत्तर

6

Andrei Andrushkevich's answer अब एक बेहतर और सरल समाधान है।


आप editor.commands.addCommand का उपयोग करके शॉर्टकट के साथ जुड़े आदेश को फिर से परिभाषित कर सकते हैं, और फिर बस एक खाली समारोह की आपूर्ति। इस कस्टम परिभाषा को अंतर्निहित एक पर प्राथमिकता दी जाएगी। इस मामले में:

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

यहाँ updated JSFiddle है। मुझे स्पष्ट दस्तावेज नहीं मिला, लेकिन here's the editor.commands definition और here's where .addCommands() is। (नोट:। कोड परिवर्तित हो सकती है के बाद से इस सवाल का जवाब लिखा गया था)

प्रति jcubic की टिप्पणी

+0

यह है! आपका बहुत बहुत धन्यवाद! खुद के साथ कुछ भी नहीं आने के लिए खुद को facepalming। –

+0

'addCommand' भी कार्य करता है जो केवल ऑब्जेक्ट स्वीकार करता है। – jcubic

13

यह नकली हैंडलर के साथ प्रयोग के बजाय 'removeCommand' 'addCommand' उपयोग करना बेहतर है के रूप में संपादित किया गया

editor.commands.removeCommand('find'); 
संबंधित मुद्दे