2012-06-20 96 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 –