我有一个插件,允许用户动态添加需要在其中包含tinyMCE编辑器的部分。 jQuery克隆div
并将其放入容器中。其中一个输入框是textarea设置如下:
<textarea name="sectionContent_1" id="sectionContent_1"></textarea>
我需要用tinyMCE编辑器替换textarea。
我看了看:
How to load wp_editor() through AJAX/jQuery 和 use wordpress wp_editor in dynamic/ajax html
这些似乎都不适合我们
我在调用添加textarea部分的触发器内尝试了这个:
$(this).parent().find('.sectionOptions').html(ctHolder);
var textAreaID = 'sectionContent_'+sectionID;
tinyMCE.execCommand('mceRemoveEditor', true, textAreaID);
tinyMCE.execCommand('mceAddControl', false, textAreaID);
在此,我将克隆数据(ctHolder)添加到设置textarea ID的.sectionOptions
,重置ID上的编辑器,然后将控件添加到ID ...这不起作用,但似乎是最常见的建议。
答案 0 :(得分:1)
这就是诀窍:
var textAreaID = 'sectionContent_'+sectionID; $(this).parent().find('.sectionOptions').html(ctHolder).ready(function(){
tinyMCE.execCommand('mceAddEditor', false, textAreaID);
});
Wordpress 3.9正在使用tinyMCE 4.x so&#34; mceAddControl&#34;被改为&#34; mceAddEditor&#34;。另外,我把调用放在一个就绪函数中,这样jquery就不会运行tinyMCE,直到它在dom上加载textarea之后。