CKEDITOR摧毁

时间:2015-02-13 17:21:41

标签: javascript ckeditor destroy

我想删除所有div,类,属性以及CKEDITOR添加到DOM中的所有内容。例如调用jquery tabs(“destroy”);将删除jQuery选项卡添加的所有添加的div。如何为CKEDITOR做同样的事情,似乎无法找到解决方案。

$("body").find("[edit]").each(function() {
    $(this).ckeditor();
});

这就是我如何调用ckeditor。我在文档中发现了这一点,但我不确定如何使用它。 http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#destroy

3 个答案:

答案 0 :(得分:0)

如果您可以为要删除的内容构造选择器,则可以使用jQuery的remove函数。例如,如果所有CKEditor元素在其类中都包含“ckeditor”,则可以使用

$("[class*='ckeditor']").remove()

从DOM中删除它们。

https://api.jquery.com/remove/

答案 1 :(得分:0)

根据http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.html#.remove你应该使用destroy()函数而不是remove()

Removes an editor instance from the global CKEDITOR object. 
This function is available for internal use only. External code
must use CKEDITOR.editor.prototype.destroy to avoid memory leaks.

所以代码就是     $([类* = 'CKEditor的'])。摧毁(真)

答案 2 :(得分:0)

你需要把事情分开。您无法使用jQuery删除CKEditor实例,也无法使用CKEditor删除jQuery对话框或任何其他jQuery小部件。

jQuery的.remove()是从DOM中删除元素,这是正确的,但是没有正确销毁任何添加的事件等。

因此,您使用CKEditor的.destroy()从DOM中删除任何实例,然后您可以使用jQuery的销毁方法删除任何jQuery容器(选项卡,对话框或其他)。对于jQuery-UI对话框,它将是:$(" #myDiv")。dialog(" destroy")。

// So to create you use var editor = CKEditor.replace('id-of-your-input'); // and to destroy you use: editor.destroy();

就这么简单。

我在这里创建了一个plunk,我在jQuery对话框的步骤中创建和销毁CKEditor:http://plnkr.co/edit/z1YJa4?p=preview

官方文档在这里: http://sdk.ckeditor.com/samples/saveajax.html

希望有所帮助。