У меня есть js-приложение, которое никогда не перезагружает страницу, поэтому при навигации мне нужно полностью удалить элементы управления TinyMCE, а затем я хочу повторно-инициализировать при переходе к области, которая в этом нуждается. Я попробовал принятый ответ на этот вопрос, но, похоже, он ничего не делает.
Как мне удалить tinyMCE, а затем-добавить его?
tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id);
и моя конкретная реализация:
//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");
Я также пробовал
tinyMCE.remove( tinyMCE.getInstanceById("main-text"));
// AND
tinyMCE.remove( "main-text");
Я знаю, что этот оператор выполняется, когда я добавляю предупреждение в условное выражение... Я знаю, что это правильный идентификатор--Есть ли что-то еще, скрытое в API, который мне не хватает? Это не версия jQuery. Редактор сохраняется после попытки удаления, и я даже получаю новый с тем же идентификатором, если повторно-инициирую его, возвращаясь к состоянию с формой.
РЕДАКТИРОВАТЬ:приведенное ниже решение не работает в текущей сборке 3.5b3, только в 3.4.9. Существует ошибка, когда 't is undefined'
На всякий случай, это соответствующая часть DOM после инициализации.