Этот вопрос касается скрытия и отображения редактора tinymce, но если кто-то пришел сюда с удалением и повторным добавлением редактора tinymce без ошибок, тогда моё решение может помочь им.
Чтобы удалить существующий редактор tinymce и добавить новые потребностиоформление массива tinymce.EditorManager.editors.Это решение работает в обоих случаях: 1. Если у вас есть только один редактор, и вы хотите удалить и добавить его снова.2. Если у вас несколько редакторов, и вы хотите удалить какой-то специальный редактор и добавить его снова.
console.log(tinymce.EditorManager.editors);
Это даст вам представление о массиве и точном индексе нужного вам редактора, который вы хотите удалить.,Например, один пример вывода вышеуказанной консоли может быть:
Array[2]
0:B
1:B
length:2
textarea-1:B
textarea-2:B
_proto_Array[0]
Это вывод консоли, когда у меня есть два редактора tinymce на textareas: # textarea-1 и # textarea-2 Предположим, я хочуудалите # textarea-2 и повторно добавьте его, тогда это можно сделать следующим образом:
tinymce.EditorManager.editors.splice(1, 1);//removing second element in array.
delete tinymce.EditorManager.editors['textarea-2'];//deleting respective textarea id from array
Затем вы можете добавить его снова, просто используя init:
tinymce.init({
selector:'#ts-textarea-2'
});
Если у вас есть толькоодна текстовая область, связанная с редактором tinymce, позволяет сказать: # textarea-1, и вы хотите удалить и повторно инициализировать его, затем вы можете просто очистить tinymce.EditorManager.editors по:
tinymce.EditorManager.editors = [];
И затем вы можете добавить, используякоманда init, как описано выше.Работал у меня без ошибок.
Надеюсь, это поможет