Javascript 如何使用jQuery隐藏和显示CKEditor?
下面的代码应该允许隐藏/显示CKEditor表单Javascript 如何使用jQuery隐藏和显示CKEditor?,javascript,jquery,firefox,ckeditor,Javascript,Jquery,Firefox,Ckeditor,下面的代码应该允许隐藏/显示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">
<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>
隐藏
显示
布拉布拉
CKEDITOR.replace('editor1');
然而,这段代码在Chrome上运行良好,但在Firefox上,一旦我切换了编辑器(一次“隐藏”点击,然后一次“显示”点击),它就变得不可编辑了
如何使它在每个浏览器上都工作
多谢各位 看起来这可能对您有所帮助: 在我链接到他们的报告中,他们尝试了以下内容:
if (frames[0]) {
frames[0].FCK.EditingArea.MakeEditable();
}
尝试将其包装在div中,例如:
代码>
并在div上进行隐藏显示。它似乎没有真正的解决方法
有关更多信息,请参阅。唯一的解决方案是等待CKEditor新版本3.4 解决方案是:
// Hide form
CKEDITOR.instances.editor1.updateElement();
CKEDITOR.instances.editor1.destroy();
$('#form1').hide();
//Show form
CKEDITOR.replace( 'editor1', {height: "220px", skin: "v2"});
$('#form1').show();
我在
因此,基本上,您必须首先通过执行ff来破坏CKEditor实例:
if(typeof CKEDITOR.instances['element_name'] != 'undefined') {
CKEDITOR.instances['element_name'].updateElement();
CKEDITOR.instances['element_name'].destroy();
}
对于我的CkEditor 4我将尝试您的建议…但是您喜欢的bug被标记为已修复,我正在使用最新版本的CkEditor。我尝试了它,但它不起作用(在CkEditor 3.X版中不再使用FCK)。你有其他想法吗?你有我可以测试的网站吗?你可以在这里下载一个例子:。只需解压缩并打开html文件。单击隐藏/显示=>在FF上不起作用
if(typeof CKEDITOR.instances['element_name'] != 'undefined') {
CKEDITOR.instances['element_name'].updateElement();
CKEDITOR.instances['element_name'].destroy();
}
$("div[id*='cke_editor']").hide();
$("div[id*='cke_editor']").show();