Gibt es eine Möglichkeit zu verhindern, dass sich TinyMCE beim Laden der Seite automatisch konzentriert?

9

Ich habe eine Reihe von Eingabefeldern in meinem Formular, von denen eines TinyMCE (Version 3.5.2) verwendet. Sobald TinyMCE geladen wird, wird der Fokus auf sich selbst gesetzt. Wie kann ich das verhindern? Ich möchte die erste Eingabe standardmäßig beibehalten.

So sieht mein Code jetzt aus

%Vor%

Aktualisierung:

Nach einigen weiteren Tests sieht es so aus, als ob dieses Problem nur in IE9 auftritt. Chrome, FireFox, Opera & amp; Safari legt den Fokus beim Laden der Seite nicht auf den Editor fest. IE9 im IE7- und IE8-Modus legt den Fokus nicht auf das Laden der Seite fest, aber IE9 selbst setzt den Fokus auf den Editor, auch wenn Sie versuchen, den Fokus auf eine andere Eingabe zu setzen.

Das alles ändert sich, sobald Sie die Seite mit einem Wert im Textfeld geladen haben. Wenn Sie das tun, funktioniert IE9 wie die anderen Browser. Im Moment lade ich die Seite mit einem einzelnen Leerzeichen im Textfeld und das macht IE9 richtig funktionieren.

    
Brian Surowiec 08.06.2012, 07:07
quelle

2 Antworten

1

Würde helfen, die verbleibenden Eingaben und die Formularstruktur zu haben, um den besseren Ansatz zu kennen, aber etwas in dieser Richtung sollte helfen:

jQUERY

%Vor%

Aus der Dokumentation :

  

Mit dieser Option können Sie eine Funktion angeben, die ausgeführt wird, wenn alle Editor-Instanzen ihre Initialisierung beendet haben. Dies ähnelt dem Onload-Ereignis einer HTML-Seite.

     

Hinweis: Sie können den Funktionsnamen auch als Zeichenfolge übergeben. Aber in diesem Fall muss die Funktion im globalen Bereich der Seite deklariert werden.

Der Trick besteht darin, den Fokus für die erste sichtbare Eingabe festzulegen:

%Vor%

Siehe das Arbeitsbeispiel a>!

BEARBEITET

Ich habe ziemlich viel Zeit gebraucht, um dies zu testen und es für IE9 arbeiten zu lassen, aber hier ist es:

Siehe Working Solution !

jQuery

%Vor%

Dies bedeutet, dass ein Timeout ausgeführt wird, bis die Klasse .mceIframeContainer gefunden wurde, was bedeutet, dass das Laden abgeschlossen ist. Nach dem Auffinden wird der Fokus für das erste Eingabeelement gesetzt und das Timeout wird gelöscht.

    
Zuul 08.06.2012, 17:41
quelle
-1
%Vor%

Wenn Sie einen einzelnen Befehl innerhalb der Funktion ausführen ignoriert er den preventDefault und fokussiert und scrollt weiter !!!! : D

    
Navid Kianfar 03.07.2016 07:27
quelle

Tags und Links