2011-09-13 19 views
16

私はこれらの2行のコードを次々に持っています。TinyMCEがロードされるのを待つ

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

2行目は、タイマーが終了する前でもコンテンツを設定しようとします。私は "tinyMCE.activeEditor is null"というエラーが発生していると思います。

ロードされるまで待つ方法はありますか?ありがとう

答えて

42

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.onInit http://www.tinymce.com/wiki.php/Tutorial:Migration_guide_from_3.x

+0

Booya、(例えばWordPressののように)宣言は、あなたもaddeditorイベントを使用することができます。ありがとうございました。 – puargs

5

あなたはtinymce.init({...})にアクセスすることができない場合それがあった

/// 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' event documentation

+0

血まみれのWordPressのtinymceエディタの読み込みは、私をうまくやってくれました。これほど多くのThx。 – dewd

関連する問題