web-dev-qa-db-ja.com

TinyMCEが読み込まれるまで待ちます

私はこれらの2行のコードを次々に持っています。

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

2行目は、tinymceが完了する前でもコンテンツを設定しようとします。 「tinyMCE.activeEditor is null」エラーが発生する原因が考えられます。

読み込まれるまで待つ方法はありますか?ありがとう

24
Pit Digger

TinyMCEのバージョン4は、わずかに異なるイベントバインディング方式を使用します。

バージョン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.onInithttp://www.tinymce.com/wiki.php/チュートリアル:Migration_guide_from_3.x

57
Red Taz

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 'addeditor'イベントドキュメント

11