Detect a focus on wp_editor

时间:2015-08-26 作者:Kivylius

我不想在wp_editor(..) 输出文本区域/内容可编辑focus. 这是一个很简单的问题,我在任何地方都找不到。

<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>
这应该是可行的,但由于iframe/delegation的存在,很难进行选择。e、 g:

$(".compose-body").on("click focus", "[data-id=\'compose-editor\']", function(){
    console.log("YEPP focus/clicked!");
});
编辑----wp_editor() == tinyMCE 唯一的回调是FocusEventEditor.focus, 但我不得不做了一个讨厌的黑客来让它工作:

setTimeout(function(){
    var a = tinymce.editors[0].on("focus", function(){
        console.log("YEPP!");
    });
}, 300);
这是一种可行的解决方案,但这是一种破解,任何其他方法(最好使用jQuery)都可以为focus?

1 个回复
最合适的回答,由SO网友:ungestaltbar 整理而成

可以将设置数组传递给编辑器实例。有关可能的值,请参阅tinymce文档,在您的情况下,“init\\u instance\\u callback”可能会有所帮助。

https://www.tinymce.com/docs/configure/integration-and-setup/#init_instance_callback

  wp_editor(\'\', \'sedemoeditor\', array(
        \'tinymce\' => array(
            \'init_instance_callback\' => \'function(editor) {
                        editor.on("focus", function(){
                            console.log("Editor: " + editor.id + " focus.");
                    });
                }\'
            )
));

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果