如何使用CKEditor的removeMenuItem()函数?

时间:2012-03-14 13:47:40

标签: ckeditor

我正在尝试从右键单击菜单中删除“粘贴”选项。有一个最近添加的功能应该这样做,但我不知道如何调用它。

文档:http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#removeMenuItem

我在CKEditor的config.js文件中尝试过以下操作,该文件似乎不起作用:

CKEDITOR.editor.removeMenuItem('paste');

CKEDITOR.editor.prototype.removeMenuItem('paste');

config.removeMenuItem = 'paste'; /* in main config array */

有什么建议吗? (完全删除右键菜单不是一个选项,因为我需要它来进行表格编辑)

3 个答案:

答案 0 :(得分:3)

为什么你的测试不起作用:

CKEDITOR.editor.removeMenuItem('paste');

CKEDITOR对象没有属性“editor”,

CKEDITOR.editor.prototype.removeMenuItem('paste');

同上,并试图获得原型将无济于事。 在这两种情况下,您都会在错误控制台中等待您的一些错误消息

config.removeMenuItem = 'paste'; /* in main config array */

链接后,removeMenuItem是编辑器对象的方法,而不是配置对象的属性。

你能做什么:

CKEDITOR.instances.editor.removeMenuItem('paste');

CKEDITOR对象具有包含所有实例的属性“instances”,因此将“editor”替换为编辑器的名称,它将起作用。 (当然,在创建实例之后,而不是之前)

答案 1 :(得分:3)

你可以试试这个,它对我有用

CKEDITOR.instances.contentEditor.config.removePlugins =' image,resize';

contentEditor是CKEDITOR实例的名称。

您可以使用配置并设置removePlugins并传递一个字符串,其中包含您要删除的属性的名称。但请记住它只适用于插件对象中存在的那些属性名称。就像你想删除'粘贴'你必须这样做

CKEDITOR.instances.contentEditor.config.removePlugins =' pastefromword,pastetext';

答案 2 :(得分:-1)

在阵列配置中创建编辑器时包括: var config = {..., 'removeButtons':'Maximize'};

by exzemplo