当动态使用javascript和textarea时,如何将其渲染为tinyMCE编辑器(在wordpress中)?

时间:2014-06-10 21:05:45

标签: jquery ajax wordpress tinymce

我有一个插件,允许用户动态添加需要在其中包含tinyMCE编辑器的部分。 jQuery克隆div并将其放入容器中。其中一个输入框是textarea设置如下:

<textarea name="sectionContent_1" id="sectionContent_1"></textarea>

我需要用tinyMCE编辑器替换textarea。

我看了看:

How to load wp_editor() through AJAX/jQueryuse 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 ...这不起作用,但似乎是最常见的建议。

1 个答案:

答案 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之后。