代码之家  ›  专栏  ›  技术社区  ›  fabien7474 Jan Tchärmän

如何使用jquery隐藏和显示ckeditor?

  •  5
  • fabien7474 Jan Tchärmän  · 技术社区  · 14 年前

    以下代码应允许隐藏/显示ckeditor窗体

    <a onClick="$('#form1').hide();">Hide</a>
    <a onClick="$('#form1').show();">Show</a>
    <form action="sample_posteddata.php" method="post" id="form1">
        <textarea id="editor1" name="editor1">blabla</textarea>
        <script type="text/javascript"> CKEDITOR.replace( 'editor1' ); </script>
        <input type="submit" value="Submit" />
    </form>
    

    但是,这个代码在Chrome上可以正常工作,但是在Firefox上,一旦我切换了编辑器(一次“隐藏”单击,然后一次“显示”单击),它就不可编辑了!!

    我怎样才能让它在每一个浏览器上工作?

    谢谢您。

    7 回复  |  直到 6 年前
        1
  •  3
  •   Alfred redcoder    12 年前

    解决方案是:

    // Hide form
    CKEDITOR.instances.editor1.updateElement();
    CKEDITOR.instances.editor1.destroy();
    $('#form1').hide();
    //Show form
    CKEDITOR.replace( 'editor1', {height: "220px", skin: "v2"});
    $('#form1').show();
    
        2
  •  3
  •   Ross    11 年前

    我在 http://dizkover.com/post/67/how-to-show-hide-ckeditor-using-jquery-ckeditor-tip

    因此,基本上,您必须首先通过执行FF来破坏ckeditor实例:

    if(typeof CKEDITOR.instances['element_name'] != 'undefined') {
        CKEDITOR.instances['element_name'].updateElement();
        CKEDITOR.instances['element_name'].destroy();
    }
    
        3
  •  2
  •   spinon    14 年前

    看起来这可以帮助你:

    http://dev.ckeditor.com/ticket/544

    在我链接到的报告中,他们展示了这样的尝试:

    if (frames[0]) {
      frames[0].FCK.EditingArea.MakeEditable();
    }
    
        4
  •  2
  •   fabien7474 Jan Tchärmän    14 年前

    它似乎没有真正的解决办法。

    here 更多信息。唯一的解决方案是等待新版本3.4的ckeditor。

        5
  •  2
  •   beobeo88    12 年前
    <div id="container">            
        <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea>
    </div>
    <p>
        <input type="button" value="jQuery Hide" onclick="$('#container').hide('fast');" />
        <input type="button" value="jQuery Show" onclick="$('#container').show('fast');" />
    </p>
    
        6
  •  1
  •   shox    14 年前

    尝试将其包装在一个分区中,例如: <div id="fckz"> <form >...</form> </div> 并在分区上显示隐藏。

        7
  •  0
  •   Imdadul Huq Naim    6 年前
    $("div[id*='cke_editor']").hide();
    
    $("div[id*='cke_editor']").show();
    

    我的卷轴4