jquery - ejemplos - TinyMCE 4-eliminar() o destruir()
tinymce no editable (13)
Estoy usando el editor TinyMCE. Quiero eliminar o destruir los editores de Tinymce (la página contiene más de un editor). También elimine las clases y los ID agregados por tinyMCE.
Pero deja contenidos editables.
Lo intenté :
tinymce.remove()
tinymce.destroy()
tinymce.execCommand(''mceRemoveControl'',true,''.editable'');
Tenga en cuenta:
mi clase de editor es .editable
, y tengo más de un editor en mi página.
Cuando utilizo la función tiyMCE.init ({}), la respuesta de @nikmauro funciona para mí, por lo que para cada descarga de la página, solo debes activar tinymce.get ("real_element_id"). Remove ();
Ese método funciona para mí.
Por cierto, estoy divirtiendo esta versión.
//tinymce.cachefly.net/4.1/tinymce.min.js
El siguiente código está funcionando
tinymce.get(id).remove();
En caso de que llegue alguien que esté usando la versión jQuery de TinyMce, use lo siguiente para eliminar una instancia :
$("#textarea_id").tinymce().remove();
Necesita un ID de editor (que generalmente es igual a su ID de elementos raíz html de editor (en la mayoría de los casos, un área de texto)).
Ejemplo:
tinymce.execCommand(''mceRemoveControl'', true, ''my_original_textarea_id'');
Poco tarde a la fiesta, pero recientemente agregué la versión tinyMCE jQuery a mi proyecto angular. Por algunas razones, no quería usar el código de terceros angular y solo quería que la versión jQuery funcionara.
Así que aquí está mi código para hacer que TinyMCE 4.x funcione en angular, incluso con ng-repeat.
Todo lo que tiene que hacer es decorar sus áreas de texto con la clase "TinyMCEEditorBox" y llamar a este método cada vez que elimine o agregue elementos que resulten en una actualización (como más elementos que se agreguen a una repetición ng).
$scope.RebindTinyMCE = function ()
{
var tmceSelector = ".TinyMCEEditorBox";
for (var i = tinymce.editors.length - 1 ; i > -1 ; i--)
{
tinyMCE.execCommand("mceRemoveEditor", true, tinymce.editors[i].id);
}
setTimeout(function () {
$(tmceSelector).tinymce({
menubar: false,
statusbar: false,
toolbar: ''bold italic underline | alignleft aligncenter alignright | bullist numlist outdent indent | link'',
});
}, 50);
}
Si tiene varias instancias de TinyMCE, puede usar el siguiente fragmento de código para cerrar cada instancia de TinyMCE:
for (var i = tinymce.editors.length - 1 ; i > -1 ; i--) {
var ed_id = tinymce.editors[i].id;
tinyMCE.execCommand("mceRemoveEditor", true, ed_id);
}
Lo uso antes de que se cargue el contenido de Ajax.
Simplemente necesita usar este código para eliminar todo el área de texto editable:
tinyMCE.remove (". editable");
Aquí hay más información sobre tinyMCE eliminar: http://archive.tinymce.com/wiki.php/api4:method.tinymce.EditorManager.remove.static
Simplemente usar
tinymce.remove()
para eliminar todos los editores.
Tenga en cuenta que si un área de textarea
dada tiene un id, tinyMCE lo usará por alguna extraña razón, incluso si se ha usado el parámetro selector
para aplicar el editor al elemento dado. Esta identificación se usa luego en la matriz interna - tinyMCE.editors
que no se borra (no se borra si usará tinymce.execCommand(''mceRemoveControl'', true, [id])
, remove
realidad elimina editors
y evita que tinyMCE se aplicará nunca más). Como tal, si tiene un contenido dinámico con tinyMCE aplicado, funcionará una vez, pero nunca más. Para resolver esto, necesita limpiar esta matriz manualmente para delete tinyMCE.editors[$(node).getAttribute(''id'')]
Yo tuve el mismo problema. En v4 todas las sugerencias anteriores no funcionaron para mí, pero esto sí:
tinymce.remove("div.editable");
... regenerated HTML dynamicaly ...
tinymce.init(...);
Yo uso el editor en línea:
tinymce.init({
selector: "div.editable",
inline: true,
plugins: [
"advlist autolink lists link image charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste"
],
menubar: false,
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"});
Espero que esto haya ayudado
estábamos recibiendo error al llamar
elementReference.destroy()
// destroy es una función dojo
reemplazamos ese código con
elementReference.domNode.remove()
También estábamos usando tinymce.min.js, y nos estaba dando NS_ERROR_UNEXPECTED
tinymce.EditorManager.remove () Esto estaba funcionando para mí
if (typeof tinyMCE != ''undefined'') {
if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) {
tinyMCE.editors=[];
}
tinyMCE.editors=[]; tinymce.init({selector:''textarea'', plugins : ''advlist autolink link image lists charmap print preview''});
}else{
tinymce.init({selector:''textarea'', plugins : ''advlist autolink link image lists charmap print preview''});
}