Für meine Zwecke war ‘id_of_texterea’ “Beschreibung”, dh
<textarea id="description" ... ></textarea>
In dem Formularelement, das meinem Textbereich vorausging, habe ich den execCommand oben zur Aktion “onblur” des Elements hinzugefügt.
Für einen realistischeren Ansatz könnten Sie diesen execCommand an einen Tab-Tastendruck auf dem vorhergehenden Formularelement binden.
– jbnunn
22. April 2010 um 15:18 Uhr
Ich weiß, dass dies ein alter Beitrag ist, aber nur um meinen Beitrag hinzuzufügen, dass der Editor geöffnet ist und der Fokus nicht funktioniert. Was ich gefunden habe, das für mich funktioniert hat, war Folgendes:
tinyMCE.activeEditor.focus();
Ich musste dies in einem window.setTimeout-Ereignis festlegen, weil ich JS-Objekte und dergleichen verwendet habe. Hoffe das hilft.
Das hat bei mir gut funktioniert: setTimeout(“try{tinymce.activeEditor.focus()}catch(e){}”, 2000);
– Matthäus Lock
18. Oktober 2013 um 1:47 Uhr
Nachdem Sie alle vorherigen Antworten durchgegangen sind, ist dies diejenige, für die sich alles gelohnt hat. Vielen Dank.
– Karsten
16. August um 12:26 Uhr
zzz
Das Fokussieren funktioniert auch so:
tinyMCE.get('id_of_textarea').focus()
Schauen Sie sich das tabfocus-Plugin an, das macht genau das, was Sie wollen:
Wenn Sie tinymce mit JQuery verwenden. Folgendes wird funktionieren
$("#id_of_textarea").tinymce().focus();
Sie können dies jedoch erst tun, nachdem der Editor initialisiert wurde, und daher müssen Sie möglicherweise auf eines seiner Initialisierungsereignisse warten.
Pranab Gupta
tinyMCE.get('Description').getBody().focus();
Das obige funktioniert auch in Firefox, Chrome und IE. In anderen Browsern habe ich nicht getestet.
Ich bin mir nicht sicher warum, aber die akzeptierte Antwort hat bei mir nicht funktioniert, während diese hier funktionierte.
– Markus
5. September 2014 um 17:14 Uhr
Antwort funktioniert nur für mich, wenn mehr als eine Instanz von TinyMce auf der Seite vorhanden ist.
– Elektrotyp
30. Mai 2020 um 20:09 Uhr
Für mich hat das funktioniert, obwohl ich auch hinzufügen musste tinyMCE.get('Description').getBody().scrollIntoView() um sicherzustellen, dass es auch auf dem Bildschirm war.
– Michael Dunlap
23. Oktober 2020 um 22:40 Uhr
VGrünhagen
Sieht so aus, als ob für TinyMCE 4 einige dieser Lösungen nicht mehr funktionieren.
// Fügen Sie dies hinzu, damit Firefox auch funktioniert
init_instance_callback : "customInitInstanceForTinyMce", // property to add into tinyMCE.init()
function customInitInstanceForTinyMce() {
setTimeout(function () { // you may not need the timeout
tinyMCE.get('Description').focus();
}, 500);
}
Ich bin mir nicht sicher warum, aber die akzeptierte Antwort hat bei mir nicht funktioniert, während diese hier funktionierte.
– Markus
5. September 2014 um 17:14 Uhr
Antwort funktioniert nur für mich, wenn mehr als eine Instanz von TinyMce auf der Seite vorhanden ist.
– Elektrotyp
30. Mai 2020 um 20:09 Uhr
Für mich hat das funktioniert, obwohl ich auch hinzufügen musste tinyMCE.get('Description').getBody().scrollIntoView() um sicherzustellen, dass es auch auf dem Bildschirm war.
– Michael Dunlap
23. Oktober 2020 um 22:40 Uhr
Andreas Louv
Was tatsächlich funktioniert, ist das Setzen einer Option in der configfile (oder jquery-Datei) Mit dieser Option können Sie eine Editorinstanz automatisch fokussieren. Der Wert dieser Option sollte eine Editorinstanz-ID sein. Die Editorinstanz-ID ist die id für den ursprünglichen Textbereich bzw <div> Element, das ersetzt wurde.
Beispiel für die Verwendung der auto_focus Möglichkeit:
tinyMCE.init({
//...
auto_focus : "elm1"
});
Hat hier gut funktioniert. Ich habe meinem Code eine Bedingung hinzugefügt, die das Vorhandensein des Attributs “autofocus” im Textfeld überprüft. Wenn wahr, wird auto_focus auf textarea id gesetzt, andernfalls wird auto_focus auf false gesetzt.
– Leonardo Montenegro
13. Mai 2014 um 13:43 Uhr
12307000cookie-checkWie legen Sie den Fokus eines TinyMCE-Textarea-Elements fest?yes