Usuń kontrolę TinyMCE i dodaj ponownie
Mam aplikację js, która nigdy nie przeładowuje strony, więc podczas nawigacji muszę całkowicie usunąć kontrolki TinyMCE, a następnie chcę ponownie zainicjować nawigację do obszaru, który tego wymaga. Próbowałem zaakceptować odpowiedź na to pytanie, ale wydaje się, że nic nie robi.
Jak usunąć tinyMCE i ponownie go dodać?
<code> tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id); </code>
i moja szczególna sugestia:
<code> //if I throw an alert here, it does get called, so I know it's not null if (tinyMCE.getInstanceById("main-text")) tinyMCE.EditorManager.execCommand('mceRemoveControl', true, "main-text"); </code>
Próbowałem też
<code> tinyMCE.remove( tinyMCE.getInstanceById("main-text")); // AND tinyMCE.remove( "main-text"); </code>
Wiem, że to oświadczenie zostaje wykonane, gdy wprowadzę ostrzeżenie w warunkowym ... Wiem, że to poprawny identyfikator ... Czy w API jest coś innego, co zaginęło? To nie jest wersja jQuery. Edytor utrzymuje się po próbie usunięcia, a nawet otrzymuję nowy z tym samym identyfikatorem, jeśli ponownie go zainicjuję, wracając do stanu z formularzem.
EDYCJA: poniższe rozwiązanie nie działa w obecnej wersji 3.5b3, tylko w 3.4.9. Jest błąd, w którym „t jest niezdefiniowane”
Na wszelki wypadek jest to odpowiednia część DOM po init.
<code> <textarea id="main-text" style="display: none;" aria-hidden="true"></textarea> <span id="main-text_parent" class="mceEditor defaultSkin" role="application" aria-labelledby="main-text_voice" style="display: inherit;"> <span id="main-text_voice" class="mceVoiceLabel" style="display:none;">Rich Text Area</span> <table id="main-text_tbl" class="mceLayout" cellspacing="0" cellpadding="0" role="presentation" style="width: 100%; height: 400px;"> <tbody> <tr class="mceFirst" role="presentation"> <td class="mceToolbar mceLeft mceFirst mceLast" role="presentation"> <div id="main-text_toolbargroup" aria-labelledby="main-text_toolbargroup_voice" role="group" tabindex="-1"> <span role="application"> </div> <a onfocus="tinyMCE.getInstanceById('main-text').focus();" title="Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X" accesskey="z" href="#"></a> </td> </tr> <tr> <tr class="mceLast"> </tbody> </table> </span> </code>