是否可以从ActionScript 3中关闭contextMenu(或隐藏它)?
我需要运行一个eventlistener,一旦按下正确的Mousebutton,就会发生一些事情。
myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);
function menuSelectHandler(e:ContextMenuEvent):void{
/**
* close the context menu and do something
*/
}
要么不显示上下文菜单,要么关闭它。
知道我该怎么做吗?
我试过了:
dispatchEvent(new ContextMenuEvent(ContextMenuEvent.MENU_ITEM_SELECT));
但是我没有启动我放在第一个菜单项上的eventListener。 当选择ContextMenu中的项目时,是否知道如何调度启动的事件?
答案 0 :(得分:1)
您无法关闭,隐藏或禁用Flash Player中的右键单击,您可以隐藏一些选项。
但是有一个技巧,您可以使用JS捕获右键并使用ExternalInterface在Flash应用程序内模拟您自己的右键单击。
你可以在这里看到一些例子:
http://www.lordofduct.com/blog/?p=318
http://www.uza.lt/2007/08/19/solved-right-click-in-as3/
http://blog.another-d-mention.ro/programming/right-click-and-custom-context-menu-in-flash-flex/
这个问题是浏览器的兼容性,你还需要更改wmode(在某些情况下会有更多问题,你可以搜索它)。
以下是一些兼容性的统计数据:
http://code.google.com/p/custom-context-menu/wiki/BrowserSupport
答案 1 :(得分:0)
实际上你无法对它做任何事情。您只能将上下文菜单的大小减少到很少的条目,但需要显示一些内容。原因是Flash并不真正支持鼠标的右键单击按钮,而只是为ContextMenu提供内容。你有没有看到任何Flash应用程序在右键单击后没有显示上下文菜单?