我想在编辑后期管理页面的TinyMCE编辑器中挂接keydown事件。我使用以下代码成功地钩住了HTML内容编辑器:
jQuery(\'#content\').keydown(function(){
alert("keydown")
});
下面是我挂接TinyMCE编辑器的失败尝试。问题是编辑器还没有初始化,所以变量ed没有定义。
var ed = tinyMCE.getInstanceById(\'tinymce\');
ed.onChange.add(function(ed, l) {
alert("keydown");
});
任何帮助都将不胜感激!
最合适的回答,由SO网友:Bainternet 整理而成
TinyMCE编辑器有自己的keydown事件处理程序,并在启动时连接到一个函数,因此您可以创建TinyMCE插件或使用wordpress启动它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;
}