所以我遇到了这种困境。
<SCRIPT src="../js/tiny_mce/tiny_mce.js"></script>
<SCRIPT type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "simple"
});
</SCRIPT>
<SCRIPT src="../js/admin.js"></script>
以上是在我的PHP页面上调用的。
我正在打电话
var request = $.ajax(
{
url:"getEvents.php",
type:"POST",
data:{'method':'showevents'},
dataType:"html"
}).done(function(msg){
$('#eventlistbody').html(msg);
});
setTimeout(
function(){
$(".mceSimple").each(function(){
tinyMCE.execCommand("mceAddControl",false, this.id);
})
},2000);
这会加载一堆textareas ..... tinyMCE将在它第一次返回时加载到所有文本区域。当我点击重新加载时再次运行上面的文本区域并返回它们不再附加tinyMCE的文本区域。 我不确定为什么它第一次运行而不是后续运作。
答案 0 :(得分:12)
在重新加载之前,您应该正确关闭tinymce,以便在重新加载后能够重新初始化一个tinymce编辑器。这是必要的,因为tinymce不喜欢被拖到dom周围。初始化的编辑器实例可能只有一个唯一的id(使用reload将强制tinymce尝试初始化具有相同id的第二个编辑器 - 这将失败)。
<强> Tinymce3:强> 要关闭edtor实例,请使用:
tinymce.execCommand('mceRemoveControl',true, editor_id);
重新初始化使用
tinymce.execCommand('mceAddControl',true, editor_id);
<强> Tinymce4:强> 要关闭edtor实例,请使用:
tinymce.execCommand('mceRemoveEditor',true,editor_id);
重新初始化使用
tinymce.execCommand('mceAddEditor',true,editor_id);
答案 1 :(得分:2)
对我来说tinyMCE.remove(editor_id)工作。
答案 2 :(得分:1)
Tinymce4:要关闭编辑器实例,请使用:
tinymce.remove();
或表示一个唯一ID
tinymce.execCommand('mceRemoveEditor',true,editor_id);
重新初始化使用
tinymce.init(conftinymce);
或表示一个唯一ID
tinymce.execCommand('mceAddEditor',true,editor_id);