I have these two lines of code one after another.
tinymce.execCommand('mceAddControl',true,'email_body');
tinyMCE.activeEditor.setContent(data.tplCustom.htmltemplate);
Second line tries to set content even before th开发者_运维问答e tinymce is done . I think cause of that I am getting " tinyMCE.activeEditor is null" error.
Is there any way to wait until its loaded ? Thanks
Version 4 of TinyMCE uses a slightly different event binding method.
Version 3
// v3.x
tinymce.init({
setup : function(ed) {
ed.onInit.add(function(ed) {
console.debug('Editor is done: ' + ed.id);
});
}
});
Version 4
// v4.x
tinymce.init({
setup: function (ed) {
ed.on('init', function(args) {
console.debug(args.target.id);
});
}
});
Reference: http://www.tinymce.com/wiki.php/API3:event.tinymce.Editor.onInit http://www.tinymce.com/wiki.php/Tutorial:Migration_guide_from_3.x
If you cannot access to the tinymce.init({...})
declaration (like in WordPress for example), you can also use addeditor
event :
/// 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
精彩评论