Warum ist mein TinyMCE versteckte textarea handeln?
Habe ich über 7 textarea
s auf einer web-Seite, alle von Ihnen sind rich-text-Editoren mit TinyMCE. Jedoch beim laden der Seite nur 1 von Ihnen ist sichtbar und der rest ausgeblendet. Die Benutzer können auf eine 'show' - link angezeigt, und die verbleibenden Texteingabefelder eins nach dem anderen.
Allerdings habe ich ein seltsames problem. Alle textarea
s sind wie folgt aufgebaut:
<textarea cols="40" rows="20"></textarea>
Jedoch nur die textarea
angezeigt, die beim laden der Seite wird die volle Größe, die ich will. Die restlichen textarea
s sind wirklich klein, wenn ich Ihnen zeige. Also ich denke, dass vielleicht Sie sind nicht gerendert, weil Sie verborgen sind, die beim laden der Seite.
Wie kann ich Abhilfe schaffen?
- Ich denke, ich bin mit diesem problem. Die Texteingabefelder sind set auf display:none und TinyMCE scheint zu ignorieren, die Ihrer Größe, es sei denn, ich geben Sie es richtig in den tag.
- Fixiert es. Siehe auch Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, einige CSS Texteingabefelder, die versteckt sind.
Verwenden Sie zum Beispiel
Ich glaube, ich lief in dieses, wo der TinyMCE-CSS überschreibt einige der Standard-CSS-Verhalten. Ich endete mit "re-override", und schließlich bearbeitet der TinyMCE css-Seiten.
Ich denke, das ist eine MCE-bug, oder zumindest eine Funktion, die MCE fehlt.
Da wollte ich im Stil meiner input box in CSS, nicht HTML (igitt) habe ich versucht
statt
und alles funktionierte wieder.
Ich glaube, dass letzteres bewirkt, dass das element zu nehmen bis kein Platz, die Ausflüge auf die MCE-code, der erkennt die Breite und Höhe des Elements.
Beim laden von TinyMCE mit jQuery kann dieses problem gelöst werden, wie Z:
1 - Auf Ihrer textarea, geben Sie eine Höhe in der inline-style-Attribut:
2 - fügen Sie eine callback-Funktion, die beim instanzieren eines TinyMCE-editor. z.B. tinymceLoaded
3 - Legen Sie die Höhe Ihrer Redaktion in der tinymceLoaded Funktion:
Ohne ein paar mehr Einzelheiten zu Ihrem aktuellen setup und wie du tust den vaious - /ausblenden von Funktionen es ist schwer, eine definitive Antwort geben.
Ich kann werfen ein paar Allgemeine Gedanken heraus, obwohl:
Vom TinyMCE innen hidden div nicht angezeigt werden aktiviert, wenn wir das div sichtbar, Benutzers slolife Antwort hat mir geholfen:
Versuchen Sie den Aufruf von tinyMCE.init(...) nachdem Sie die blenden mit div.
Habe ich das gleiche Problem, wo die Höhe der versteckten textarea-Steuerelemente, die konvertiert wurden, in der TinyMCE-Editoren zu klein waren. Einstellung
visibility
zunone
gearbeitet, sondern hinterlässt einen großen leeren Platz an seiner Stelle.Folgende Lösung, die gut für mich gearbeitet:
onInstanceInit
Funktion, ausblenden initialisiert TinyMCE-editor dynamischWenn Sie die Produktion version des TinyMCE, Sie wahrscheinlich vergessen, zu kopieren, Ordner tinymce.min.js muss. Sie müssen auf den Ordner langs, plugins, skins und Themen in den gleichen Ordner wie Ihre tinymce.min.js Datei.
Anderen Grund für das was verborgen ist, wenn Sie entfernen von Elementen aus der dom mit tinymce initialisiert auf Sie. Sie müssen entfernen tinymce aus diesem element zuerst, so vermeiden Sie ein komisches Verhalten beim initialisieren von neuen tinymce Elemente.
Also zum Beispiel :
removeElementWithTinymce = function(elementToRemove){
var parent = elementToRemove.parentNode;
tinymce.remove(elementToRemove.getAttribute('id'));
parent.removeChild(elementToRemove);
};
Das ist es.