TinyMCEエディタの編集ポスト管理ページのkeydownイベントをフックしたいと思います。私は次のコードを使用してHTMLコンテンツエディタをフックすることに成功しました:
jQuery('#content').keydown(function(){
alert("keydown")
});
これが私のTinyMCEエディタをフックしようとした試みの失敗です。問題は、エディタがまだ初期化されていないので、変数edが未定義であることです。
var ed = tinyMCE.getInstanceById('tinymce');
ed.onChange.add(function(ed, l) {
alert("keydown");
});
任意の助けは大歓迎です!
tinyMCEエディタには独自のkeydownイベントハンドラがあり、開始時に関数にフックされているので、tinymceプラグインを作成したり、次のようにtiny_mce_before_init
フックを使ってワードプレスで開始することができます。
add_filter( 'tiny_mce_before_init', 'wpse24113_tiny_mce_before_init' );
function wpse24113_tiny_mce_before_init( $initArray )
{
$initArray['setup'] = <<<JS
[function(ed) {
ed.onKeyDown.add(function(ed, e) {
//your function goes here
console.debug('Key down event: ' + e.keyCode);
});
}][0]
JS;
return $initArray;
}