he inicializado TinyMCE así:eliminar completamente jQuery TinyMCE
$('#text').tinymce({
// Location of TinyMCE script, optional, already loaded in page.
script_url : '../adminContent/js/tiny_mce/tiny_mce.js',
// General options
theme : "advanced",
plugins : "table,advimage,advlink,iespell,inlinepopups,preview,contextmenu,paste,visualchars",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,forecolor,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,removeformat,cleanup,code,|,preview,tablecontrols,|,hr,visualaid,|,charmap,iespell",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});
El código anterior funciona perfectamente. El problema es cuando trato de eliminar tinyMCE.
Mi código de eliminación es:
$('#text').tinymce().execCommand('mceRemoveControl', false, 'text');
También he intentado:
$('#text').remove();
y
$('#text').tinymce().remove();
El primero no parece hacer nada. Los dos últimos me da este error:
Uncaught ReferenceError: t is not defined
Aunque tinymce se carga por el documento HTML, Estoy cargando otro script usando:
$.getScript(viewPath + '/mod/adminContent/js/editContent.js', function(){
initEditContent(popup);
});
emergente es una referencia a la ventana emergente en la que tinymce está cargado . Es simplemente un div que se crea usando jquery. Los contenidos del div se cargan usando jquery ajax.
El editContent.js se parece a esto:
var contentID;
function initEditContent(popup){
contentID = $('#contentID').val();
tinyMCE.execCommand("mceAddControl", true, 'text');
setTimeout(reposition, 50);
setTimeout(reposition, 150);
setTimeout(reposition, 250);
// Submit form
$('#editTextForm').ajaxForm(
{
// Before submit
beforeSubmit: function(){
//setPopupMessage(popup, '<div id="loading"><img src="../../img/loading.gif" /> Please wait...</div>');
},
// Once submit completed
success: function(responseText){
tinyMCE.execCommand("mceRemoveControl", true, 'text');
//closePopup(popup);
// Update button with new data
$('#' + contentID).html(responseText);
}
});
}
'.tinymce() remove()' debe hacer el truco.. ¿Puedes publicar un caso de prueba en [jsFiddle] (http://jsfiddle.net) donde se reproduce tu problema? – mekwall
He editado mi pregunta inicial para darle más detalles. No puedo usar jsFiddle, me temo porque se requieren demasiadas partes externas. – JPardoe
llamado tinyMCE.remove(); y dio un error: "UnEught TypeError: No se puede leer la propiedad 'id' de undefined" en la línea 11264 de tiny_mce_src.js – JPardoe