Décrochez l'événement Keydown dans l'éditeur de post TinyMCE

4

Je voudrais accrocher l'événement keydown dans l'éditeur TinyMCE sur la page d'administration de la publication modifiée. J'ai réussi à accrocher l'éditeur de contenu HTML à l'aide du code suivant:

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

Voici ma tentative infructueuse d’accrocher l’éditeur TinyMCE. Le problème est que l'éditeur n'a pas encore été initié, donc la variable ed n'est pas définie.

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

Toute aide serait très appréciée!

    
posée odie5533 26.07.2011 - 16:52

1 réponse

6

l'éditeur TinyMCE a son propre gestionnaire d'événements keydown et sa fonction reliée à une fonction lors de son lancement. Pour ce faire, vous pouvez créer un plugin tinymce ou utiliser son initiation wordpress avec tiny_mce_before_init hook comme ceci:

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;
}
    
réponse donnée Bainternet 26.07.2011 - 18:23

Lire d'autres questions sur les étiquettes