charコードが何であるかはわかりませんが(私が試したものは何でも0
)、役立つコードは次のとおりです。
CKEDITOR.replace( 'editor1', {
on: {
contentDom: function( evt ) {
var editable = evt.editor.editable();
editable.attachListener( editable, 'keyup', function( evt ) {
console.log( 'getKey', evt.data.getKey() );
console.log( 'getKeystroke', evt.data.getKeystroke() );
console.log( 'native event', evt.data.$ );
} );
}
}
} );
CKEditor 4 を使用しており、そのコードは CKEditor 3 では機能しない可能性があると想定しています。
keyup
イベントリスナーを編集可能にアタッチしました。Editable はメインの編集可能な要素です。インライン エディターではエディターが構築されたコンテナーであり、フレーム エディターではこれはbody
内部 iframe です。
このリスナーをcontentDom
イベントに追加することは非常に重要です。これは、コンテンツ DOM がロードされるたびに起動され、フレーム化されたエディターがすべてのsetData
呼び出し後に発生します (非常に頻繁に)。In framed editorsetData
はまったく新しい DOM を作成するため、古い DOM に接続されている古いリスナーを削除することが重要です。これは editable 自体によって処理されますが、リスナーはattachListener
メソッドによってアタッチする必要があります。
質問に戻ります - CKEditor は char コードを取得する方法を提供していないと思います。の下にあるネイティブ イベントを使用する必要がありますevt.data.$
。