tinyMCE 初始位置

tinyMCE init location

我目前在 ajax 调用的 'done' 方法中有我的 TinyMCE 初始化语句,如下所示:

$(document).ready(function () {
    $.ajax({
        url: '/api/GameData/' + gameID,
        method: 'GET',
        dataType: 'json',
        success: function (data) {
        },
        fail: function (jqXHR, textStatus) {
            alert("Request failed: " + textStatus);
           }
        }).done(function (data) {
            $("#gameEditor").val(data);
            tinyMCE.init({
               selector: 'div#gameEditor',
               inline: true
            });
        });
   });

  function saveTinyMCE() {
      var text = tinyMCE.get('gameEditor').getContent();
  }

我有一个使用 jquery ajax 到 post 数据的保存功能。我在 done 函数之外定义了这个函数。

每次加载页面时,我都会在浏览器控制台的 saveTinyMCE 函数中的 'var text =' 行收到此错误:

Uncaught TypeError: Cannot read property 'getContent' of null

我是否也需要将此保存函数放入初始 ajax 调用的 'done' 部分?

谢谢!

我认为您需要在 ajax 方法之外调用 tinymce.init。 例子: 编写初始化函数:

$(document).ready(function () {
var self = this;
self.initTinyMCe (){
    tinyMCE.init({
           selector: 'div#gameEditor',
           inline: true
    });
}
$.ajax({
    url: '/api/GameData/' + gameID,
    method: 'GET',
    dataType: 'json',
    success: function (data) {
    },
    fail: function (jqXHR, textStatus) {
        alert("Request failed: " + textStatus);
       }
    }).done(function (data) {
        $("#gameEditor").val(data);
        self.initTinyMCe(); 
    });

});