2012-06-20 94 views
2

我想獲取ckeditor中keydown事件的keyCode。我的代碼看起來有點像這樣CK編輯器中的關鍵代碼

editor.document.on('keydown', function(event) { 
    var keycode= event.data.keyCode & ~(CKEDITOR.SHIFT | CKEDITOR.CTRL |CKEDITOR.ALT); 
    alert('Key:'+keycode); 

}); 

但它總是提醒0.不知道爲什麼會這樣。
此外,我想用event.preventDefault()從jQuery的。但我無法弄清楚如何將我的plugin.js file.Any建議

回答

6

jQuery庫這是正確的代碼,如果你想有樂趣:

CKEDITOR.instances.editor1.on('key', function (evt) { 
    var kc = evt.data.keyCode, 
     csa = ~(CKEDITOR.CTRL | CKEDITOR.SHIFT | CKEDITOR.ALT); 

    console.log(kc, kc & csa); 
    // kc & csa is what you need 
}); 

或者這個,如果你想擁有更短的代碼:

CKEDITOR.instances.editor1.document.on('keydown', function (evt) { 
    console.log(evt.data.getKeystroke(), evt.data.getKey()); 
    // getKey() is exactly what you want 
}); 

關於防止默認 - 你不需要jQuery的這一點。 CKEditor是如此巨大的工具,它內置了DOM庫。您可以在第二個示例的evt.data中找到preventDefault方法。

+0

你是否遇到類似這樣的類似問題:http://stackoverflow.com/questions/24808029/ckeditor-key-event-not-updating-text-properly –