所见即所得编辑器不适用于通过 ajax-php 调用生成的文本区域

WYSIWYG editor does not work on textarea that are generated through ajax-php calls

我有一个文本区域,我用 ajax 生成它,但是在加载文本区域之后,文本区域没有转换为所见即所得编辑器,但它在普通文本区域上工作,请帮助解决我的问题.

<!DOCTYPE html>
<html>
<head>
........
$.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "dashboard/show_data",
        cache: false,
        dataType: "json", 
        success: function(data){

        $('#demo').html(data);
........
<script src="//tinymce.cachefly.net/4.2/tinymce.min.js"></script>
<script>tinymce.init({selector:'textarea'});</script>
</head>
<body>
    <textarea>Easy! You should check out MoxieManager!</textarea>
    <section id="demo">
    </section>
</body>
</html>

show_data.php

<textarea></textarea>

尝试添加这个

tinymce.init({selector:'textarea'});

将 HTML 放入演示元素后。不然Google怎么用jQueryon。你的问题是 mce 编辑器需要绑定到新的 dom 元素,如果你不告诉它就不会。

问题是在执行 ajax success 函数时,tinymce 编辑器已经初始化。

解决这个问题很简单。您只需成功初始化新编辑器即可:

$.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "dashboard/show_data",
        cache: false,
        dataType: "json", 
        success: function(data){

          $('#demo').html(data);

          //put the initial init function here instead
          tinymce.init({selector:'textarea'});

          // **or** better in case you know the textarea id use
          tinymce.init({ selector: "#textarea_id" });
........