8

是否可以使用 actionscript 3 禁用右键菜单?

非常感谢任何帮助!

4

8 回答 8

24

您可以使用:

stage.showDefaultContextMenu = false;

隐藏除设置选项之外的所有内容。

于 2008-12-18T11:31:53.050 回答
19

从 Flash Player 11.2 开始,现在可以覆盖鼠标右键单击的行为,例如

stage.addEventListener(MouseEvent.RIGHT_CLICK, function(e:Event){});

这是ActionScript 3 参考中的相应条目

于 2012-09-20T19:22:11.747 回答
4

我认为您不能在 AS3 中执行此操作(Adobe 可能永远不会在其中提供支持,因为它会阻止用户访问安全设置)。

有一些方法可以通过 HTML 等来实现。

查看http://www.actionscript.org/forums/showthread.php3?t=175669

于 2008-12-18T06:21:06.873 回答
3

正如 Lain 所说,您可以隐藏除“设置”项之外的所有内容。

顺便说一句:如果您需要自定义它,您可以使用 flash.ui 包中的ContextMenu 类。首先调用 hideBuiltInItems 以隐藏除设置之外的所有内容,然后将其分配给要使用菜单的对象的菜单属性(或整个小程序的根)。

仅供参考,有一个很好的教程,你可以在这里找到

于 2008-12-30T13:41:27.333 回答
2

这段代码也可以

var newMenu=new ContextMenu();
newMenu.hideBuiltInItems();
this.menu = newMenu;
于 2009-11-16T13:17:53.747 回答
1

几年后你好。我有同样的问题,但在使用触摸屏时。如果您让定点设备(我的手指)触摸屏幕超过一秒钟,则会显示“右键单击菜单”。我将它转到Windows7下的控制面板,“铅笔和输入设备”,触摸选项卡,操作,关闭“按住”操作。

我的窗口是西班牙语,名称可能有点不同,但我相信你会知道哪个按钮是哪个。

于 2015-10-13T11:59:49.760 回答
0

这是一个更好的选择

_level1._y = 195;
var myMenu:ContextMenu = new ContextMenu();
myMenu.hideBuiltInItems();
_root.menu = myMenu;
于 2009-12-23T10:27:53.810 回答
0

如果您可以忍受,wmode opaque那么您可以在浏览器级别拦截右键单击,如下所示:

http://www.uza.lt/rightclick/

于 2015-06-12T14:24:10.290 回答