在TinyMCE Post编辑器中挂钩Keydown事件

时间:2011-07-26 作者:odie5533

我想在编辑后期管理页面的TinyMCE编辑器中挂接keydown事件。我使用以下代码成功地钩住了HTML内容编辑器:

jQuery(\'#content\').keydown(function(){
    alert("keydown")
});
下面是我挂接TinyMCE编辑器的失败尝试。问题是编辑器还没有初始化,所以变量ed没有定义。

var ed = tinyMCE.getInstanceById(\'tinymce\');
ed.onChange.add(function(ed, l) {
    alert("keydown");
});
任何帮助都将不胜感激!

1 个回复
最合适的回答,由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;
}

结束

相关推荐

WordPress 3.2已经破解了我的TinyMCE代码

我的代码一直工作到3.2更新,我注意到tinyMCE也被更新了。有人知道为什么现在这可能行不通吗?我没有得到任何控制台错误,但我也没有在页面上得到任何tinyMCE编辑器!CLARIFICATION: every instance of the TinyMCE editor has disappeared!FURTHER CLARIFICATION: this is only occurring on my custom post type pages where I have custom instan