Ich kann/Rückruf nicht erkennen, wenn eine wp_editor(..)
ausgegebene Textfläche/bearbeitbarer Inhalt focus
ist. Eine ganz einfache Frage, die ich nirgendwo finden konnte.
<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>
Dies sollte funktionieren, aber aufgrund von Iframe/Delegation ist die Auswahl schwierig. z.B :
$(".compose-body").on("click focus", "[data-id='compose-editor']", function(){
console.log("YEPP focus/clicked!");
});
wp_editor()
== tinyMCE
und die einzigen Rückrufe, die dies hat, sind FocusEvent
und Editor.focus
, aber ich musste einen bösen Hack machen, damit es funktioniert:
setTimeout(function(){
var a = tinymce.editors[0].on("focus", function(){
console.log("YEPP!");
});
}, 300);
Dies funktioniert, ist aber ein Hack einer Lösung, die auf andere Weise (vorzugsweise mit jQuery) einen Selektor für focus
erstellt.
Sie können eine Reihe von Einstellungen an die Editorinstanz übergeben. Mögliche Werte finden Sie in der Dokumentation zu tinymce. In Ihrem Fall kann 'init_instance_callback' hilfreich sein.
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.");
});
}'
)
));