2013-03-13 73 views
0

今天我已被分配一个工作,其中有一个输入文本,如果有人点击它,它将用一个textaread替换它启用了ckeditor。我已经使用textarea启用ckeditor,但是当我尝试用启用ckeditor的textarea替换div时,它只是向我展示了一个简单的textarea,而不是启用ckeditor。下面是它的编码: -Ck编辑器在将它放入innerHTML中以替换div,并使用Ckeditor textarea

<script type="text/javascript"> 
function myJDFunction1() 
{ 
document.getElementById("Hide1").innerHTML='<textarea class="ckeditor" id="typingarea2" name="typingarea2"></textarea>'; 
} 

</script> 



<div id="Hide1"> 
    <textarea name="Answer1" onclick="myJDFunction1()"></textarea> 
</div> 
+0

其中rü保持CKEditor的这些配置文件? – 2013-03-13 10:33:39

+0

我保持ckeditor文件夹中的配置文件 – 2013-03-13 10:34:55

回答

2

你必须调用

CKEDITOR.replace('typingarea2'); 

因为编辑器实例自动创建(按类别),只有当被加载页面。

另外一个更好的办法是:

function myJDFunction1() { 
    CKEDITOR.appendTo('Hide1'); 
} 

<div id="Hide1" onclick="myJDFunction1()">&nbsp;</div> 
+0

嗯,它一直在工作,因为我每当我点击文本框,然后它显示我的ckeditor,但问题是,我想删除与ckeditor的文本框..谢谢为你的答案,因为它解决了我的问题的50% – 2013-03-13 11:45:11

+1

使用'CKEDITOR.instances.instanceName.destroy()'去除编辑器。 – oleq 2013-03-13 13:53:18

1

尝试使用jQuery插件adater调用CKEDITOR Jquery Plugin for CKEDITOR

  1. 进口的jQuery JavaScript文件。
  2. 导入jquery ckeditor适配器“/ckeditor/adapters/jquery.js”。
  3. 将您的CKEDITOR绑定到DOM元素。

    $('#Hide1').ckeditor(); 
    
1
<a href="#" id="Hide1" onclick='document.getElementById("Hide1").innerHTML= 
"<textarea class=ckeditor id=typingarea2 name=typingarea2></textarea>"'>text editor</a>