it-swarm.com.de

Binden Sie das Keydown-Ereignis in den TinyMCE-Post-Editor ein

Ich möchte das Keydown-Ereignis im TinyMCE-Editor auf der Seite zum Bearbeiten des Beitrags verwalten. Ich habe es geschafft, den HTML-Inhaltseditor mit dem folgenden Code zu verknüpfen:

jQuery('#content').keydown(function(){
    alert("keydown")
});

Hier ist mein fehlgeschlagener Versuch, den TinyMCE-Editor einzubinden. Das Problem ist, dass der Editor noch nicht initialisiert wurde und die Variable ed nicht definiert ist.

var ed = tinyMCE.getInstanceById('tinymce');
ed.onChange.add(function(ed, l) {
    alert("keydown");
});

Jede Hilfe wäre sehr dankbar!

4
odie5533

der TinyMCE-Editor verfügt über einen eigenen Keydown-Ereignishandler und ist beim Starten mit einer Funktion verknüpft, sodass Sie ein Tinymce-Plugin erstellen oder die WordPress-Initiation mit tiny_mce_before_init verwenden können.

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;
}
6
Bainternet