我想删除所有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
答案 0 :(得分:0)
如果您可以为要删除的内容构造选择器,则可以使用jQuery的remove
函数。例如,如果所有CKEditor元素在其类中都包含“ckeditor”,则可以使用
$("[class*='ckeditor']").remove()
从DOM中删除它们。
答案 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
希望有所帮助。