使用jQuery replaceWith()使用TinyMCE将div更改为textarea

时间:2016-02-29 14:50:39

标签: javascript jquery tinymce

我想用tinyMCE编辑器使用jQuery replaceWith()更改一些文本,对于replaceWith()函数本身没有问题,但我不知道如何将tinyMCE编辑器实现到新的textarea。

<div id="div">Some text</div>

单击编辑按钮后,将更改为

<textarea id="new">Some text</textarea> (with tinyMCE editor)

我试过两种方法,

1。替换前初始化选择器 - 不工作

tinymce.init({
    selector: "#input_insertComment",

2。 - 使用tinymce实例(?) - 不工作

$('#div').replaceWith("<textarea id=new>some text</textarea>");
tinymce.initMCEexact("#new");

编辑器都没有实现。我怎样才能做到这一点?

(在同一页面上,我为另一个文本区域编辑了。)

1 个答案:

答案 0 :(得分:0)

当您致电tinymce.init()时,只会在您致电init()时影响DOM中存在的项目。如果您稍后在页面中添加元素,则init()来电不会被TinyMCE替换。

你想要的序列是......

  1. 将textarea添加到DOM
  2. 调用tinymce.init()并使用init中的selector选项定位您刚添加到页面的textarea。
  3. 我不知道tinymce.initMCEexact()是一个真正的API调用,它曾经是TinyMCE的一部分 - 它肯定不是TinyMCE 4的一部分。