使用 jQuery replaceWith() 将 div 更改为带有 TinyMCE 的文本区域
Change div to textarea with TinyMCE using jQuery replaceWith()
我想用jQuery replaceWith() 用tinyMCE 编辑器更改一些文本,replaceWith() 函数本身没有问题,但我不知道如何将tinyMCE 编辑器实现到新文本区域。
<div id="div">Some text</div>
单击编辑按钮时,将更改为
<textarea id="new">Some text</textarea> (with tinyMCE editor)
我尝试了两种方法,
1.在替换之前初始化 tinymce 选择器 - 不工作
tinymce.init({
selector: "#input_insertComment",
2。 - 使用 tinymce 实例(?) - 不工作
$('#div').replaceWith("<textarea id=new>some text</textarea>");
tinymce.initMCEexact("#new");
两个编辑器都没有实现。我怎样才能做到这一点?
(在同一页面,我有另一个文本区域的 tinymce 编辑器。)
当您调用 tinymce.init()
时,它只会影响您调用 init()
时存在于 DOM 中的项目。如果稍后向页面添加元素,init()
调用将不会用 TinyMCE 替换它们。
您想要的顺序是...
- 将文本区域添加到 DOM
- 调用
tinymce.init()
并在 init 中使用 selector
选项来定位您刚刚添加到页面的文本区域。
我不知道 tinymce.initMCEexact()
作为一个实际的 API 调用,它曾经是 TinyMCE 的一部分 - 它肯定不是 TinyMCE 4 的一部分。
我想用jQuery replaceWith() 用tinyMCE 编辑器更改一些文本,replaceWith() 函数本身没有问题,但我不知道如何将tinyMCE 编辑器实现到新文本区域。
<div id="div">Some text</div>
单击编辑按钮时,将更改为
<textarea id="new">Some text</textarea> (with tinyMCE editor)
我尝试了两种方法,
1.在替换之前初始化 tinymce 选择器 - 不工作
tinymce.init({
selector: "#input_insertComment",
2。 - 使用 tinymce 实例(?) - 不工作
$('#div').replaceWith("<textarea id=new>some text</textarea>");
tinymce.initMCEexact("#new");
两个编辑器都没有实现。我怎样才能做到这一点?
(在同一页面,我有另一个文本区域的 tinymce 编辑器。)
当您调用 tinymce.init()
时,它只会影响您调用 init()
时存在于 DOM 中的项目。如果稍后向页面添加元素,init()
调用将不会用 TinyMCE 替换它们。
您想要的顺序是...
- 将文本区域添加到 DOM
- 调用
tinymce.init()
并在 init 中使用selector
选项来定位您刚刚添加到页面的文本区域。
我不知道 tinymce.initMCEexact()
作为一个实际的 API 调用,它曾经是 TinyMCE 的一部分 - 它肯定不是 TinyMCE 4 的一部分。