2011-09-13 212 views
16

我有這兩行代碼一個接一個。等待TinyMCE加載

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

第二行嘗試在tinymce完成之前設置內容。我認爲我得到「tinyMCE.activeEditor爲空」錯誤。

有什麼方法可以等到它的加載?謝謝

回答

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,僅此而已。謝謝。 – puargs

5

如果您無法訪問到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' event documentation

+0

血腥WordPress tinymce編輯器負載一直在推動着我的堅果。 Thx這麼多。 – dewd