Detectar un enfoque en wp_editor

4

No debería detectar / devolver la llamada cuando un wp_editor(..) output text-area / content-editable es focus . Una pregunta bastante simple que no pude encontrar en ninguna parte.

<div class="compose-body">
<?php
     $content = '';
     $editor_id = 'compose-editor';
     wp_editor( $content, $editor_id, array(
         "wpautop" => true,
         "tabindex" => 1,
         "editor_height" => 400,
         "teeny" => true
    ));
?>
</div>

Esto debería funcionar, pero debido a iframe / delegación esto dificulta la selección. por ejemplo:

$(".compose-body").on("click focus", "[data-id='compose-editor']", function(){
    console.log("YEPP focus/clicked!");
});

EDITAR ----

wp_editor() == tinyMCE y las únicas devoluciones de llamada que tiene son FocusEvent y Editor.focus , pero tuve una mala pasada para que funcione:

setTimeout(function(){
    var a = tinymce.editors[0].on("focus", function(){
        console.log("YEPP!");
    });
}, 300);

Esto funciona pero es un truco de una solución, de cualquier otra forma (utilizando jQuery de preferencia) para crear un selector para focus ?

    
pregunta Kivylius 26.08.2015 - 15:38

1 respuesta

2

Puede pasar una serie de configuraciones a la instancia del editor. Para conocer los posibles valores, consulte la documentación de tinymce, en su caso, 'init_instance_callback' podría ser útil.

enlace

  wp_editor('', 'sedemoeditor', array(
        'tinymce' => array(
            'init_instance_callback' => 'function(editor) {
                        editor.on("focus", function(){
                            console.log("Editor: " + editor.id + " focus.");
                    });
                }'
            )
));
    
respondido por el ungestaltbar 17.01.2016 - 21:33

Lea otras preguntas en las etiquetas