2011-08-18 72 views
0

我有两个链接打开fancybox内嵌入的tinyMCE。tinyMCE,根据打开它的链接更改内容

现在我想改变内部的内容,取决于用户点击的链接,我想在tinyMCE内显示的内容是点击的链接。我试过设置$('。editor')。html($(this).html()),它第一次工作,正确的内容显示。

但是这里是我的问题,内容被卡住了,当我关闭我的fancybox并点击另一个链接时,第一个内容仍然存在。

无论如何,我可以重置tinyMCE吗?我试过设置$('editor')。text('')并删除内容,但当我点击按钮时它不会回来。

它可能有事情做与tinyMCE的产生的iframe,但我不能得到它的工作...

这里是我当前的代码...

HTML “/>

<!--File2--> 
<div class="title"> 
    <a href="#mce" class="edit"><h2>Titel</h2></a> 
</div> 

<div class="content"> 
    <a href="#mce" class="edit"> 
     <p> 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
     Ut aliquam diam eget elit tristique sit amet fringilla velit sagittis. 
     Nam aliquet, nisl eget elementum consectetur, felis arcu feugiat felis, vel fermentum mi ipsum vitae neque. 
     Suspendisse placerat leo dolor, ut mollis elit. Nullam bibendum posuere risus tempus viverra. 
     Aliquam in erat dui. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
     Aenean auctor lacinia erat, ut facilisis lorem scelerisque eu. 
     Duis vitae ullamcorper felis. Pellentesque blandit tortor quis magna placerat eget iaculis velit commodo. 
     Nam imperdiet auctor scelerisque. Proin fermentum sem in nulla ornare euismod. 
     Maecenas faucibus facilisis cursus. Proin tincidunt luctus egestas. 
     Curabitur vestibulum aliquet viverra. 
     </p> 
    </a> 
</div> 




javascript 

$('.editor').html(''); 
    var content = $(this).html(); 
    $('.editor').html(content); 
    $(this).fancybox(
    { 
     'size' : 'auto', 
     'onComplete': function() 
     { 
      $('.editor').tinymce(
      { 
       script_url : '/media/tiny_mce/tiny_mce.js', 
       theme : 'advanced', 
       height: 450, 
       plugins : 'ecmsimage,pagebreak,style,layer,table,save,advhr,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist', 
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect", 
        theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,help,|,insertdate,inserttime,|,forecolor,backcolor", 
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,|,sub,sup,|,charmap,iespell,advhr,|,code,preview,fullscreen", 
        theme_advanced_toolbar_location : "top", 
        theme_advanced_toolbar_align : "left", 
        theme_advanced_statusbar_location : "bottom", 
        theme_advanced_resizing : true, 
        theme_advanced_resize_horizontal: false 
       }); 

       $('#fancybox-inner').width(550).height(500); 
       $('#fancybox-wrap').width(550).height(500); 
       $.fancybox.center();    
      } 
     }); 

回答

0

你需要CLOS前TinyMCE的正确关闭加入fancybox以便能够第二次打开tinymce编辑器。使用它可以正确关闭它

tinymce.EditorManager.execCommand('mceRemoveControl',true, editor_id); 

editorid等于您初始化tinymce的html元素的id。