2014-05-07 21 views
3

渲染我使用TinyMCE的4和設置它如下後執行操作:TinyMCE的在DOM

tinyMCE.init({ 
      mode : "specific_textareas", 
      editor_selector : "basicTinyMCE", 
      theme : "modern", 
      readonly : false, 
      ...}); 

我要調用一個函數它已經在DOM被渲染後。

我碰到this和嘗試:

tinyMCE.init({ 
       mode : "specific_textareas", 
       editor_selector : "basicTinyMCE", 
       theme : "modern", 
       readonly : false, 
       setup : function(ed) { 
        ed.onPostRender.add(function(ed,cm) { 
        console.log('After render: ' + ed.id); 
        }); 
       } 
       }); 

我得到以下錯誤:

SCRIPT5007: Unable to get property 'add' of undefined or null reference 

如果這是達到我想要的正確方法是任何想法? 如果是這樣,爲什麼會出現錯誤?

回答

5

你有兩個選擇:

  1. 使用配置init_instance_callbackhttp://www.tinymce.com/wiki.php/Configuration:init_instance_callback
  2. 使用新的方法來添加回調

    ed.on( 'postRender',函數(E){ console.log('postRender'); });

+0

我試着按照這裏提到的第二點加入回調。但它對我沒有什麼影響(我發現如果我添加了5秒的超時,它確實執行了我想要調用的帖子渲染回調函數)。我討厭明確地設置第三方js控件的超時,但是我最終這樣做是因爲異步執行,我認爲設置函數執行速度更快,然後隨機執行。 – dhruvpatel

+0

有關** init_instance_callback **的文檔的url已經過時,只是打開了一般文檔部分,這裏是一個更新的部分:https://www.tinymce.com/docs/configure/integration-and-setup/#init_instance_callback –