在TinyMCE中移除上下文菜单

13

TinyMCE内置上下文菜单,当您在内容编辑器区域右键单击时会激活该菜单。由于菜单中包含复制/剪切/粘贴等选项,我需要移除该菜单。这是出于特定应用程序的原因,而不是技术原因。

输入图片描述

我尝试过移除contextmenu插件并试图捕获contextmenu事件并进行拦截,但没有成功。


感谢提供截图,加1。 - Thariama
4个回答

30

简单的解决方案是在您的tinymce init中移除contextmenu插件:

 plugins : "inlinepopups,insertdatetime,fullscreen,contextmenu",

变成

 plugins : "inlinepopups,insertdatetime,fullscreen",

1
我之前尝试过这个;根据你的评论再次尝试,它成功了 - 浏览器缓存可能一直在干扰我。谢谢! - Chris Schuld
很高兴能够帮助到您。 - Thariama
1
我用这个做了,但一开始没起作用,每当我右键单击时,在上下文菜单中我得到一个“链接”,所以我进入我的插件并将“链接”从中删除,然后它就可以工作了。 - Jay Smoke

15

在版本5中,上下文菜单内置于核心中。 这帮助了我:

tinymce.init({
    ...
    contextmenu: false,
    ...
});

0
在/plugins/contextmenu/editor_plugin.js中注释掉这行代码对我有用。
f.addSeparator();f.add({title:"advanced.image_desc",icon:"image",cmd:h.plugins.advimage?"mceAdvImage":"mceImage",ui:true});

如果由于任何原因您使用了非压缩的JS,请注释此行:
m.addSeparator();
m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true});

0
尝试删除 plugins/contextmenu/editor.plugin.js 中的完整脚本(只有1行,因此在开头放2个斜杠就足够了)。
对我来说有效,右键菜单不再出现。

这样做是可行的,但非常丑陋,因为有一种方法可以配置 contextmenu(如果您搞乱了源代码,则不再可能!) - Thariama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接