Supprimer TinyMCE contrôle et de l'ajouter à nouveau
J'ai un js application qui jamais ne recharge la page, de sorte que lors de la navigation j'ai besoin de supprimer TinyMCE contrôle entièrement, et puis je veux ré-initialiser lors de la navigation pour une région qui en a besoin. J'ai essayé la accepté de répondre à cette question, mais il semble ne rien faire.
Comment puis-je supprimer tinyMCE puis ajouter de nouveau?
tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id);
et mon implimentation:
//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");
J'ai aussi essayé
tinyMCE.remove( tinyMCE.getInstanceById("main-text"));
//AND
tinyMCE.remove( "main-text");
Je sais que cette déclaration, qui est exécuté quand j'ai mis une alerte au conditionnel... je sais que c'est la bonne ID-- Est-il autre chose enterré dans l'API que je suis absent? Ce n'est Pas la version jQuery. L'éditeur persiste après la suppression de la tentative, et j'ai même obtenir une nouvelle avec le même ID si je re-init par la navigation de retour à l'état avec la forme.
EDIT: la solution ci-dessous ne fonctionne pas dans la version actuelle 3.5b3, seulement dans 3.4.9. Il y a un bug où "t est undefined'
Juste au cas où, c'est la partie pertinente de la cathédrale après l'init.
<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>
OriginalL'auteur FlavorScape | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
Que j'ai pu croiser quelques fois. Pour le résoudre j'ai assurez-vous que la tinyMCe contrôle n'ont pas le focus (à cause de certains bugs dans certains navigateurs), retirez la tinyMCE contrôle, et de supprimer la zone de texte que le contrôle a été associée avec.
Voici le code correspondant:
tinymce.com/wiki.php/API3:method.tinymce.execCommand et cela parle un peu de la mceRemoveControl: tinymce.com/wiki.php/TinyMCE3x:Command_identifiers
OriginalL'auteur Patricia
Tous ceux qui viennent sur ce post. Maintenant tinymce 4.X ont l'appui pour le Retrait d'un éditeur ou des éditeurs de page de formulaire juste en appelant fonction de suppression.
http://www.tinymce.com/wiki.php/api4:method.tinymce.remove
OriginalL'auteur Shashank