有人知道如何禁用CKEditor的上下文(右键单击)菜单吗?我期待一个配置选项,但我找不到一个。我正在使用v3.1。感谢。
答案 0 :(得分:36)
从版本3.6.4开始,此问题中的其他答案不再有效。 See bug #9284
需要禁用的三个插件(使用此问题中讨论的方法)是contextmenu
,liststyle
和tabletools
。例如,使用配置文件:
CKEDITOR.editorConfig = function(config) {
/* Your config options */
...
config.removePlugins = 'contextmenu,liststyle,tabletools';
};
答案 1 :(得分:14)
您需要删除contextmenu
插件。有关3.1的信息,请参阅here。
答案 2 :(得分:4)
Ckeditor CKEDITOR.editorConfig = function (config) {
config.language = 'en';
config.toolbar = "mini";
config.removePlugins = 'elementspath,contextmenu,liststyle,tabletools,tableselection';
config.disableNativeSpellChecker = false;
}
4.8.0
Ckeditor CKEDITOR.editorConfig = function (config) {
config.language = 'en';
config.toolbar = "mini";
config.removePlugins = 'contextmenu,liststyle,tabletools,tableselection';
config.disableNativeSpellChecker = false;
}
(' elementspath'插件不再需要删除)
public interface NetworkAPI {
@GET("authentication.php")
@Headers({"Content-Type:application/json; charset=UTF-8"})
Call<JsonElement> loginRequest(@Body LoginRequest body);
}
答案 3 :(得分:2)
我需要禁用以下所有功能才能使其正常工作。
config.removePlugins = 'language,tableresize,liststyle,tabletools,scayt,menubutton,contextmenu';
以前我们不需要语言或表格 - 但是更新版本的ckeditor似乎需要这样做。
我在查看chrome上F12 dev工具的输出时发现了这一点。
答案 4 :(得分:2)
通过覆盖初始化contextmenu
行为的原型函数,仍然有一个实用的解决方案:
CKEDITOR.dom.element.prototype.disableContextMenu = function () {
this.on( 'contextmenu', function( event ) {
// your contextmenu behavior
});
};
注意:当CKEDITOR动态加载其JS资源时,您需要将其放在replace
调用之前。
答案 5 :(得分:1)
对于4.2版,我将以下内容放在config.js文件的末尾
CKEDITOR.on('instanceReady', function(ev) {
ev.editor.editable().addClass('cke_enable_context_menu')
});
答案 6 :(得分:1)
您可以在站点的F12控制台窗口中使用以下代码段找出特定CKEditor构建中的哪些插件需要contextmenu
(假设您还为$.each
提供了jQuery):
$.each(CKEDITOR.plugins, function(k, v){
v.requires && console.log("Plugin '" + k + "' requires: " + v.requires)
})
例如:
插件'tabletools'需要表格,对话框,上下文菜单
然后您可以使用它来帮助您处理config.removePlugins
- 在我的情况下:
config.removePlugins = 'tabletools,contextmenu'
答案 7 :(得分:0)
使用CKEditor 3.6我可以通过删除上面提到的contextmenu插件来禁用上下文菜单。 为此,您必须使用removePlugins选项配置编辑器。 例如:
CKEDITOR.replace('my_editor', {
removePlugins : 'contextmenu'
});
也可以从config.js文件中全局禁用它:
CKEDITOR.editorConfig = function(config) {
/* Your config options */
...
config.removePlugins = 'contextmenu';
};
答案 8 :(得分:0)
不幸的是,由于CKEditor 3.6 / 4.0不再适用。
答案 9 :(得分:0)
在CKEditor 4.x中,(我测试了4.2.2)你必须同时做到这两点:
CKEDITOR.replace('my_editor', {
removePlugins : 'contextmenu'
});
和
CKEDITOR.editorConfig = function(config) {
/* Your config options */
...
config.removePlugins = ''liststyle,tabletools,contextmenu'';
};
如果你不禁用它们,那么所有这三个都会自动要求上下文菜单。
答案 10 :(得分:0)
可以完全禁用上下文菜单,将此行添加到配置文件中(通常是fckconfig.js):
FCKConfig.ContextMenu = [];
答案 11 :(得分:0)
按住ctrl按钮,同时右键单击以绕过上下文菜单并访问拼写检查器等。