2016-11-15 46 views
0

我来这里,因为我有一个与Meteorjs + Tinymce大问题。希望你能帮助我...Tinymce随机没有呈现在流星

让我解释一下我的情况。

我有我自己做的多步表单的基础模板。 在此基础模板,有一个动态模板功能,即渲染的每一步(上点击下一步按钮,它呈现的下一个步骤。)

有我型动物的模板:

AdminTrainingsInsertForm(基地)

  1. 训练者(1RST步骤)
  2. 训练(第二步骤)
  3. 必要的(第三步骤)
  4. 实用(第四步骤)< - 它在这一步,我上呈现3 textarea的TinyMCE的
  5. 时间表(第五步)

这是我渲染TinyMCE的,当我的实际步骤(模板)被渲染代码:

tinymce.init({ 
    selector: ".tinyted", 
    plugins: [ 
     'autolink link' 
    ], 
    toolbar: 'undo redo | bold italic underline | link bullist', 
    menubar: false, 
    statusbar: false, 
    inline: false, 
    skin_url: '/packages/teamon_tinymce/skins/lightgray', 
    setup : function(ed) { 
     ed.on('keydown', function(e) { 
      var body = tinymce.get($(this)[0].id).getBody(), text = tinymce.trim(body.innerText || body.textContent); 

      var ref = $('textarea[id='+$(this)[0].id+']'); 
      text = text.replace(/(\r\n|\n|\r)/gm,""); 
      var len = text.length; 
      var maxChar = parseInt(ref.data('max')); 

      if ((len) > maxChar) { // prevent type because text length > max chars authorized 
       e.preventDefault(); 
       e.stopPropagation(); 
       return false; 
      } 

      // update count words div 
      if ($(this)[0].id == 'practical-description') 
       $('#description-count').html(len); 
      if ($(this)[0].id == 'practical-details') 
       $('#details-count').html(len); 
      if ($(this)[0].id == 'practical-agenda') 
       $('#agenda-count').html(len); 

     }); 
    } 
}); 

正如你所看到的,TinyMCE的是init上textarea的与tinyted类

的问题是: 我做我的多-S一个流tep形式,呈现tinymce。我验证它,将所有数据插入到我的MongoDB中,并呈现所有这些不同数据的列表。 接下来,我重做与多步骤的一个新的流程,并在第4步,TinyMCE的不渲染...所以这是一个表明,塞问题:(

有人以溶液或一种方法来解决这个问题吗?感谢您的期货答案!

+0

那么你是说当你第一步到达第4步时,如果你离开并返回第4步TinyMCE不会渲染? –

+0

这是正确的...有什么建议吗? –

回答

2

如果您使用的是SPA风格框架,加载/卸载TinyMCE的,你需要确保你init()并在合适的时间remove() TinyMCE的。

当你想加载TinyMCE,你使用的是init(),你看起来第一次正确地做了

当你“离开”的那一步,你需要正确remove()每个TinyMCE的实例框架消除了相关的DOM元素之前。

当您然后返回到步骤时,您可以再次使用init()。如果你离开这个步骤时没有TinyMCE,它仍然有一个编辑器对象,但它现在指向不再存在的DOM对象,因此TinyMCE不“工作”。

+0

感谢您的回复,我用它:tinymce.remove(“。tinyted”);它做到了! –