2013-05-21 43 views
4

我想禁用CK編輯器中的某個鍵。如何在CK EDITOR中配置快捷鍵4.沒有找到Keystrocks的插件

我正在使用CKEDITOR 4.0 &我想在CKEDITOR中禁用一些快捷鍵。

例如幫助文件在Alt +上打開0

舊版本配置可用於源代碼/ plugins/keystroks/plugins.js但在新版本中無法使用。

+1

這裏你去:http://stackoverflow.com/questions/14423734/ckeditor-how-to-apply-keyboard-shortcut-to-a-particular-style – GEMI

+0

我想刪除現有的快捷方式。這是爲了添加快捷方式。 –

+0

編輯Source/plugins/keystroks/plugins.js是個不錯的主意。改變這些值的正確方法是使用config.js文件,而不是源文件。 – AlfonsoML

回答

4

使用config.keystrokes可以添加和刪除按鍵。

從技術文檔:

// Disable default CTRL + L keystroke which executes link command by default. 
config.keystrokes = [ 
    ... 
    [ CKEDITOR.CTRL + 76, null ],      // CTRL + L 
    ... 
]; 
+0

謝謝,但我想在源代碼中的一般配置所以更改可能適用於所有的CK編輯器。我不需要配置所有單獨的CK編輯器。 –

+0

然後將該代碼放在你的'config.js'文件中。 – Reinmar

3

與空數組替換CKEditor.config.keystrokes

CKEDITOR.config.keystrokes = []; 

或者CKEDITOR已經提供了快捷鍵功能(見CKEDITOR文檔)。使用此功能,我們可以將擊鍵綁定到CKeditor操作。爲了節省,以下行應該添加:

CKEDITOR.config.keystrokes = ... [ CKEDITOR.CTRL + 83 /*S*/, null ], ...

+0

謝謝,但我想源代碼中的一般配置所以更改可能適用於所有的CK編輯器。我不需要配置所有單獨的CK編輯器。 –

+0

CKEDITOR.config.keystrokes最初是不確定的,是預期的嗎? – Michael

1

我看你有兩個答案,詢問將更改應用到所有的CKEditor情況的意見。下面的代碼應允許您設置覆蓋所有實例

window.onload = function(){ 
    CKEDITOR.on('instanceReady', function (ev) { 
     ev.editor.setKeystroke(CKEDITOR.ALT + 48 /*0*/, false); 
    }); 
} 

每次CKEDITOR實例初始化並準備好了,它會自動禁用ALT + 0。

如果要禁用其他按鍵沒有爲這裏參考不同的字符的ASCII碼的列表:http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters

使用的DEC(十進制)列中的數字禁止他們在雕文列鍵。

相關問題