2016-07-28 11 views
0

私のページでtinymceという2つのインスタンスを初期化する方法がわかりません。複数のインスタンスを初期化する

私は答えをthis questionから試しましたが、運はありませんでした。 2番目のもの(co)の初期化を開始する前に、最初のもの(io)の初期化が完了するまでに時間がかかる場合は、タイムアウトを使用する必要がありますか?

var io = { 
    selector:"#auth_info_intro textarea", 
    ..., 
    setup:function(ed){ 
     ed.on("init",function(e){ 
     tinyMCE.activeEditor.setContent(obj.INFO.INTRO.TEXT); 
     });   
    } 
}; 
var co = { 
    selector:"#auth_info_conclude textarea", 
    ..., 
    setup:function(ed){ 
     ed.on("init",function(e){ 
     tinyMCE.activeEditor.setContent(obj.INFO.CONCLUDE.TEXT); 
     });   
    } 
}; 
tinymce.init(io); 
tinymce.init(co); 

上記はスローUncaught TypeError: Cannot read property 'body' of undefinedです。 私は何が欠けていますか?

答えて

0

どうやら、それは最初のインスタンスを初期化するためにある程度の時間を要するので、私は最初のインスタンスの初期化オブジェクトの設定パラメータの中にタイムアウトを設定し、だけではなく、すぐに2つ目のインスタンスを初期化しようとします。これはうまくいった:

var io = {}; 
io.selector = "textarea[name=intro]"; 
io.setup = function(ed){ 
    ed.on("init",function(e){ 
      tinyMCE.activeEditor.setContent(obj.INFO.INTRO.TEXT);    
      setTimeout(function(){ 
       var co = {}; 
       co.selector = "textarea[name=conclude]"; 
       co.setup = function(ed){ 
        ed.on("init",function(e){tinyMCE.activeEditor.setContent(obj.INFO.CONCLUDE.TEXT);});       
       } 
       tinymce.init(co); 
      },1000);    
    }); 
tinymce.init(io); 
1

不足しているオブジェクトを指している可能性があります。 (アルバート・イスラエルにコメントを追加するには十分ではありません評判)textarea#auth_info_conclude

0

に、textarea#auth_info_intro#auth_info_conclude textareaにあなたのセレクタを#auth_info_intro textarea変更してみてください。コードはセレクタを修正した後に動作します。ここにはjsFiddleがあります。

<textarea id="auth_info_intro"></textarea> 
<textarea id="auth_info_conclude"></textarea> 

<script> 
var obj = { 
    INFO: { 
    INTRO: { 
     TEXT: "Hello World!" 
    }, 
    CONCLUDE: { 
     TEXT: "Goodbye World!" 
    } 
    } 
}; 
var io = { 
    selector:"textarea#auth_info_intro", 
    setup:function(ed){ 
     ed.on("init",function(e){ 
     tinyMCE.activeEditor.setContent(obj.INFO.INTRO.TEXT); 
     });   
    } 
}; 
var co = { 
    selector:"textarea#auth_info_conclude", 
    setup:function(ed){ 
     ed.on("init",function(e){ 
     tinyMCE.activeEditor.setContent(obj.INFO.CONCLUDE.TEXT); 
     });   
    } 
}; 
tinymce.init(io); 
tinymce.init(co); 
</script> 
関連する問題