当使用Java脚本动态添加文本区域时,我如何将其呈现为tinyMCE编辑器(在WordPress中)?

时间:2014-06-10 作者:dcp3450

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

<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)添加到.sectionOptions 设置textarea的ID,重置ID上的编辑器,然后向ID添加控件。。。这不起作用,但似乎是最普遍的建议。

2 个回复
SO网友:Arquimedes de Siracusa
tinymce.remove();
tinymce.init();

This works well!

SO网友:dcp3450

这就成功了:

var textAreaID = \'sectionContent_\' + sectionID;
$(this).parent()
    .find(\'.sectionOptions\')
    .html(ctHolder).ready(
        function() {
            tinyMCE.execCommand(\'mceAddEditor\', false, textAreaID); 
        }
    );
Wordpress 3.9正在使用tinyMCE 4。因此,“mceAddControl”更改为“mceAddEditor”。此外,我将调用放在ready函数中,这样jquery在dom上加载textarea之前不会运行tinyMCE。

结束

相关推荐

正在注销自定义Tinymce插件?

我想在我的一个子主题中注销自定义tinymce插件。自定义tinymce插件基本上使用:http://codex.wordpress.org/Plugin_API/Filter_Reference/mce_external_plugins摘录:add_filter( \"mce_external_plugins\", \"foo_add_buttons\" ); add_filter( \'mce_buttons\', \'foo_register_buttons\' ); 消除此问题的