我想在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库。任何建议
答案 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
方法。