flex4 完全屏蔽右键菜单

原文地址: http://hi.baidu.com/vlybrcexwwbblvq/item/e3f4ab3dde40accb2e8ec2aa

1、保存如下代码 RightClickManager.as
RightClickManager.as
package superengineflex.tool
{
 import flash.display.DisplayObject;
 import flash.events.MouseEvent;
 import flash.external.ExternalInterface;
 
 import mx.core.Application;
 
 public class RightClickManager
 {
  static private var rightClickTarget:DisplayObject;
        static public const RIGHT_CLICK:String = "rightClick";
        static private const javascript:XML =
        ;

        public function RightClickManager()
        {
            return;
        }

        static public function regist() : Boolean
        {
            if (ExternalInterface.available)
            {
                ExternalInterface.call(javascript, ExternalInterface.objectID);
                ExternalInterface.addCallback("rightClick", dispatchRightClickEvent);
                Application.application.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
            }// end if
            return true;
        }

        static private function mouseOverHandler(event:MouseEvent) : void
        {
   rightClickTarget = DisplayObject(event.target);
            return;
        }

        static private function dispatchRightClickEvent() : void
        {
   var event:MouseEvent;
            if (rightClickTarget != null)
            {
                event = new MouseEvent(RIGHT_CLICK, true, false, rightClickTarget.mouseX, rightClickTarget.mouseY);
                rightClickTarget.dispatchEvent(event);
            }// end if
            return;
        }

 }
}
///

2、修改html-template文件夹下index.template.html如下
 

3、在需要添加右键事件初始化方法中添加如下代码 注意导入命名空间
RightClickManager.regist();
this.addEventListener(RightClickManager.RIGHT_CLICK,rightClickHandler);

4、在rightClickHandler方法中处理添加右键代码

你可能感兴趣的:(flex4 完全屏蔽右键菜单)