将tinyMCE加载到彩盒中

时间:2012-12-03 16:36:14

标签: javascript jquery tinymce colorbox

我有这个问题:在我的网站上有tinymce的textareas,我可以看到所有textarea正确,但当我在textarea中打开colorbox时,这不会继承tinymce属性。 这是我打开colorbox的代码:

$("#edit_item"+val.iditem).colorbox({
   href: $(this).attr('href'),                     
   data: data,
   onComplete: function(){ setup_tiny(); }  
});

这是我的函数'setup_tiny':

function setup_tiny(){
    tinyMCE.init({
      mode : "exact",
    elements : "description",        
        width : "40%",        
        height: "200",

        // General options        
        theme: "advanced",

        // Theme options
        theme_advanced_buttons1: "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull",
        theme_advanced_buttons2: "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
        theme_advanced_buttons3: "hr,removeformat,separator,sub,sup,separator",
        theme_advanced_buttons4: "",

        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_resizing: true
   });
}

我刚试过这种方式,在加载colorbox之后:

tinyMCE.execCommand('mceFocus', false, 'the_textareas_id_here');                    
tinyMCE.execCommand('mceRemoveControl', false, 'the_textareas_id_here');

但它不起作用。 我也尝试从这个网站'http://mktgdept.com/jquery-tinymce-plugin'导入tinymce插件,这也行不通。

如何在彩盒内加载tinymce? 感谢

2 个答案:

答案 0 :(得分:3)

我使用以下代码解决了我的问题:

function setup_tiny(textarea_name){      
    tinyMCE.init({
        mode : "exact",
        elements : textarea_name,                                

        // General options        
        theme: "advanced",

        // Theme options
        theme_advanced_buttons1: "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull",
        theme_advanced_buttons2: "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
        theme_advanced_buttons3: "hr,removeformat,separator,sub,sup,separator",
        theme_advanced_buttons4: "",

        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_resizing: true
   });
}
$("#edit_item"+val.iditem).colorbox({
    href: $(this).attr('href'),                     
    data: data,
    onComplete: function(){                            
        setup_tiny("new_description");
    }                
}); 

通过这种方式,我调用我的函数'setup_tiny',其中id textarea作为参数传递。

答案 1 :(得分:1)

问题可能是你正在打电话 隐藏的textarea元素上的$("#edit_item"+val.iditem)。 Tinymce不是textarea!这是一个令人满意的iframe。您可以尝试执行以下操作:

$(tinymce.get('description').getBody()).colorbox({
   href: $(this).attr('href'),                     
   data: data,
   onComplete: function(){ setup_tiny(); }  
});