4

keydownckeditor のイベントで 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 ライブラリを含める方法がわかりません。助言がありますか?

4

1 に答える 1

8

楽しみたい場合は、これが正しいコードです。

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 ライブラリが組み込まれています。2 番目の例のpreventDefaultメソッドを見つけることができます。evt.data

于 2012-06-20T17:41:41.710 に答える