可以看看介绍:http://www.uza.lt/blog/2007/08/solved-right-click-in-as3/
效果这里可以看到:http://www.uza.lt/rightclick/
代码这里可以下载到:http://code.google.com/p/custom-context-menu/
其中心思想是利用DOM中的事件机制来截获本来要传递到Flash中的事件,然后该事件用响应的JS代码来处理,该JS代码调用相应的AS回调函数操作Flash。不过接收对象的还是flash,只是它是作为DOM中的一个节点来接收事件的。
点击右键的时候我们如何检测到?as3代码:
//ACTIONSCRIPT:
public var myMenu:ContextMenu;
public function ContexMenu_()
{
myMenu= new ContextMenu();
myMenu.addEventListener(ContextMenuEvent.MENU_SELECT,menuSelect); this.contextMenu = myMenu;
}
public function menuSelect(e:ContextMenuEvent):void
{
trace("menuSelect:"+e.target);
}
因为在右键菜单加载之前会有ContextMenuEvent.MENU_SELECT这个事件触发,所以如果绑定这个事件的话还是可以在正确的时间调用正确的函数。