<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    Flex自定義右鍵菜單-1屏蔽默認菜單

    Posted on 2011-11-28 17:01 oathleo 閱讀(2293) 評論(0)  編輯  收藏 所屬分類: Flex
    不要試圖改變flash插件自帶的右鍵菜單,沒有辦法解決
    自帶的右鍵菜單壞處大大
    1.不能去掉默認的幾項(關于)
    2.不能實現多層

    只能使用js屏蔽掉默認右鍵事件,然后彈出自己的右鍵菜單來實現
    搜索了半天,找了個可行的方案,實現第一步:
    1.屏蔽默認菜單,并響應右鍵事件

    var RightClick = {
        
    /**
         *  Constructor
         
    */ 
        init: function () {
            
    this.FlashObjectID = "customRightClick";
            
    this.FlashContainerID = "flashcontent";
            
    this.Cache = this.FlashObjectID;
            
    if(window.addEventListener){
                 window.addEventListener(
    "mousedown"this.onGeckoMouse(), true);
            } 
    else {
                document.getElementById(
    this.FlashContainerID).onmouseup = function() { document.getElementById(RightClick.FlashContainerID).releaseCapture(); }
                document.oncontextmenu 
    = function(){ if(window.event.srcElement.id == RightClick.FlashObjectID) { return false; } else { RightClick.Cache = "nan"; }}
                document.getElementById(
    this.FlashContainerID).onmousedown = RightClick.onIEMouse;
            }
        },
        
    /**
         * GECKO / WEBKIT event overkill
         * 
    @param {Object} eventObject
         
    */
        killEvents: function(eventObject) {
            
    if(eventObject) {
                
    if (eventObject.stopPropagation) eventObject.stopPropagation();
                
    if (eventObject.preventDefault) eventObject.preventDefault();
                
    if (eventObject.preventCapture) eventObject.preventCapture();
                   
    if (eventObject.preventBubble) eventObject.preventBubble();
            }
        },
        
    /**
         * GECKO / WEBKIT call right click
         * 
    @param {Object} ev
         
    */
        onGeckoMouse: function(ev) {
              
    return function(ev) {
            
    if (ev.button != 0) {
                RightClick.killEvents(ev);
                
    if(ev.target.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) {
                    RightClick.call();
                }
                RightClick.Cache 
    = ev.target.id;
            }
          }
        },
        
    /**
         * IE call right click
         * 
    @param {Object} ev
         
    */
        onIEMouse: function() {
              
    if (event.button > 1) {
                
    if(window.event.srcElement.id == RightClick.FlashObjectID && RightClick.Cache == RightClick.FlashObjectID) {
                    RightClick.call(); 
                }
                document.getElementById(RightClick.FlashContainerID).setCapture();
                
    if(window.event.srcElement.id)
                RightClick.Cache 
    = window.event.srcElement.id;
            }
        },
        
    /**
         * Main call to Flash External Interface
         * 'flexview_rightClick'
         
    */
        call: function() {
            document.getElementById(
    this.FlashObjectID).flexview_rightClick();
        }
    }


        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        
    <html>
        
    <head>
        
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        
    <title>TEST</title>
        
        
    <script type="text/javascript" src="swfobject.js"></script>
        
    <script type="text/javascript" src="rightClick.js"></script>

        
        
    </head>
        
    <body onload="RightClick.init();">
            
    <div id="flashcontent">Flash Player 10 required</div>
            
    <script type="text/javascript">
               var so 
    = new SWFObject("RightClickAS3.swf""customRightClick""560""420""9""#CCCCCC");
                so.addParam(
    "quality""high");
                so.addParam(
    "name""customRightClick");
                so.addParam(
    "id""customRightClick");
                so.addParam(
    "AllowScriptAccess""always");
                so.addParam(
    "wmode""opaque");
                so.addParam(
    "menu""false");
                so.addVariable(
    "variable1""value1");
                so.write(
    "flashcontent");
            
    </script>
        
    </body>
        
    </html>
       


    package com
    {
        
    import flash.display.*;
        
    import flash.external.ExternalInterface;
        
    public class RightClick extends Sprite
        {
            
    public function RightClick()
            {
                var methodName:String 
    = "flexview_rightClick";
                var method:Function 
    = onRightClick;
                ExternalInterface.addCallback(methodName, method);
            }
            
    private function onRightClick():void {
                var mx:
    int = stage.mouseX;
                var my:
    int = stage.mouseY;
                trace(mx 
    + ":" + my);
                
    if(my> 0 && my <stage.stageHeight && mx> 0 && mx <stage.stageWidth) {
                    
    // YOUR CODE HERE
                }
            }
        }
    }
    主站蜘蛛池模板: 免费无码又爽又刺激毛片| 99热在线观看免费| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲精品无码永久在线观看男男| 99re免费视频| 亚洲美女一区二区三区| 亚欧在线精品免费观看一区| 亚洲精品欧洲精品| AA免费观看的1000部电影| 亚洲中文字幕人成乱码 | 亚洲精品无码少妇30P| 久久不见久久见免费影院| 久久亚洲国产成人影院| 日韩一区二区在线免费观看| 国产区图片区小说区亚洲区| 亚洲AV无码乱码在线观看性色扶| 一区二区3区免费视频| 亚洲精品国产精品乱码不卡√| 伊人免费在线观看| 亚洲一卡2卡4卡5卡6卡在线99| 无码视频免费一区二三区| 亚洲成a∧人片在线观看无码| 免费**毛片在线播放直播| 两个人的视频www免费| 亚洲精品亚洲人成在线麻豆| 国产成人A在线观看视频免费| 亚洲AV无码专区亚洲AV桃| 亚洲日本一区二区一本一道| 久久成人a毛片免费观看网站| 亚洲国产精品综合福利专区| 免费看片免费播放| 男人天堂免费视频| 亚洲一区电影在线观看| 国产最新凸凹视频免费| 精品一区二区三区免费观看| 亚洲国产成人私人影院| 色视频色露露永久免费观看| 国产又黄又爽胸又大免费视频| 久久av无码专区亚洲av桃花岛| 看全色黄大色大片免费久久| 9久久免费国产精品特黄|