【问题标题】:TinyMCE problems in jQuery TabsjQuery 选项卡中的 TinyMCE 问题
【发布时间】:2011-07-15 14:22:58
【问题描述】:

我正在尝试在由 AJAX 加载的 jQuery 选项卡中实现 TinyMCE

在第一个选项卡的视图中,我按如下方式加载初始化:

    $( "#tabs" ).tabs({
         load:function(event, ui){
          if(ui.index==5){
             if(typeof TinyMCE == "undefined") {

            tinyMCE.init({
                // General options
                mode : "specific_textareas",
                editor_selector : "mceEditor",
                theme : "simple",
            }); 
        }

选项卡 5 包含文本区域。

当我第一次加载选项卡时,文本区域在 TinyMCE 字段中发生了变化。 我可以使用

来获取这个textarea的内容
var note = tinyMCE.get('note').getContent()

问题是,它仅在第一次加载此选项卡时才有效。当我按下另一个选项卡并返回选项卡 5 时,ID 已在 tiny_mce ID 中更改。所以只能在第一次按tab的时候获取内容。。

有人知道如何解决这个问题吗? 谢谢!

【问题讨论】:

    标签: jquery codeigniter tabs tinymce


    【解决方案1】:

    在切换到另一个选项卡之前,您需要关闭 tinymce 实例,否则具有该 ID 的编辑器元素将被阻止。

    在使用切换选项卡之前删除控件

    // the_editor_id equals the id of the underliing textarea
    tinyMCE.execCommand('mceRemoveControl', false, the_editor_id);
    

    【讨论】:

    • 当我将此行放在 elseif if(ui.index
    • 当然你需要在tabchange之后使用addControl命令初始化编辑器
    • 感谢您的回答。这适用于一个文本字段。如果我想将它用于许多文本字段怎么办?有没有办法用类而不是 id 来做到这一点?
    • 不,你需要 id,但这不是问题,因为它们可以使用 tinymce.editors (它是一个编辑器实例数组(ed.id 给出 id))
    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2011-10-19
    • 2012-09-27
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    相关资源
    最近更新 更多