Удалить контроль TinyMCE и повторно добавить
У меня есть приложение js, которое никогда не перезагружает страницу, поэтому при навигации мне нужно полностью удалить элементы управления TinyMCE, а затем я хочу выполнить повторную инициализацию при переходе в область, которая в этом нуждается. Я попробовал принятый ответ на этот вопрос, но, похоже, ничего не сделал.
Как я могу удалить tinyMCE и затем добавить его?
<code> tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id); </code>
и мой конкретный подтекст:
<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>
Я тоже пробовал
<code> tinyMCE.remove( tinyMCE.getInstanceById("main-text")); // AND tinyMCE.remove( "main-text"); </code>
Я знаю, что это утверждение выполняется, когда я помещаю предупреждение в условное выражение ... Я знаю, что это правильный идентификатор ... Есть ли еще что-то скрытое в API, которое мне не хватает? Это не версия JQuery. Редактор сохраняется после попытки удаления, и я даже получаю новый с тем же идентификатором, если я заново его инициализирую, возвращаясь в состояние с помощью формы.
EDIT: the solution below does not work in current build 3.5b3, only in 3.4.9. There is a bug where 't is undefined'
На всякий случай, это соответствующая часть DOM после 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>