CK编辑器中的关键代码

时间:2012-06-20 15:55:19

标签: javascript javascript-events ckeditor

我想在ckeditor中的keydown事件上获取keyCode。我的代码看起来有点像

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

});

但它总是警告0.不知道为什么会如此。?
另外我想从Jquery使用 event.preventDefault()。但我无法弄清楚如何在我的plugin.js文件中包含jquery库。任何建议

1 个答案:

答案 0 :(得分:6)

如果您想玩得开心,这是正确的代码:

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库。您可以在第二个示例的preventDefault中找到evt.data方法。