所以我遇到了这种困境。
<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);
这加载了一堆文本区域..... tinyMCE 将在第一次返回时加载到所有文本区域。当我单击再次运行上面的重新加载并返回文本区域时,它们不再附加 tinyMCE。 我不确定为什么它第一次有效,而后几次无效。
最佳答案
您应该在重新加载之前正确关闭 tinymce,以便能够在重新加载后重新初始化 tinymce 编辑器。这是必要的,因为 tinymce 不喜欢在 dom 周围被拖拽。并且初始化的编辑器实例可能有一个唯一的 ID(使用重新加载将强制 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);
关于javascript - 多个 AJAX 刷新和 TinyMCE 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14971384/