Подождите, пока TinyMCE загрузится - PullRequest
23 голосов
/ 14 сентября 2011

У меня есть эти две строки кода одна за другой.

tinymce.execCommand('mceAddControl',true,'email_body');
tinyMCE.activeEditor.setContent(data.tplCustom.htmltemplate);

Вторая строка пытается установить содержимое даже до того, как будет сделана операция.Я думаю, из-за этого я получаю ошибку "tinyMCE.activeEditor is null".

Есть ли способ дождаться его загрузки?Спасибо

Ответы [ 2 ]

55 голосов
/ 03 сентября 2013

В версии 4 TinyMCE используется несколько иной метод привязки событий.

Версия 3

// v3.x
tinymce.init({
    setup : function(ed) {
        ed.onInit.add(function(ed) {
            console.debug('Editor is done: ' + ed.id);
        });
    }
});

Версия 4

// v4.x
tinymce.init({
    setup: function (ed) {
        ed.on('init', function(args) {
            console.debug(args.target.id);
        });
    }
});

Ссылка: http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onInit http://www.tinymce.com/wiki.php/Tutorial:Migration_guide_from_3.x

10 голосов
/ 15 ноября 2016

Если вы не можете получить доступ к объявлению tinymce.init({...}) (как, например, в WordPress ), вы также можете использовать событие addeditor:

  /// Fires when an editor is added to the EditorManager collection.
  tinymce.on('addeditor', function( event ) {
    var editor = event.editor;
    var $textarea = $('#' + editor.id);
    console.log($textarea.val());
  }, true );

TinyMCE 'документация о событиях добавителя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...