tinyMCE初始位置

时间:2017-04-19 14:24:20

标签: jquery ajax tinymce tinymce-4

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

$(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发布数据的保存功能。我在done函数之外定义了这个函数。

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

Uncaught TypeError: Cannot read property 'getContent' of null

我是否需要将此保存功能放在初始ajax调用的“完成”部分中?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你需要在ajax方法之外调用tinymce.init。 例: 写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(); 
    });

});