<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
                }
            }
        }
    }
    主站蜘蛛池模板: 啊灬啊灬别停啊灬用力啊免费看| 色欲A∨无码蜜臀AV免费播| 无码国产精品一区二区免费虚拟VR| 国产亚洲av片在线观看播放| 久久久久免费视频| 国产日韩亚洲大尺度高清| 97在线视频免费公开视频| 国产亚洲一区二区手机在线观看| 3344在线看片免费| 亚洲久本草在线中文字幕| 91精品免费不卡在线观看| 91亚洲性爱在线视频| 成人在线免费观看| 狠狠综合亚洲综合亚洲色| 亚洲麻豆精品国偷自产在线91| 国产精品福利片免费看| 久久91亚洲人成电影网站| 久久午夜羞羞影院免费观看 | 国产亚洲人成A在线V网站| 中国一级特黄的片子免费 | 天天综合亚洲色在线精品| 亚洲AV中文无码乱人伦在线视色| 一级做a爰性色毛片免费| 国产偷v国产偷v亚洲高清| 免费专区丝袜脚调教视频| 亚洲精华国产精华精华液网站| 免费午夜爽爽爽WWW视频十八禁 | 91精品国产免费久久国语麻豆| 亚洲中文字幕久久精品无码VA| 国产伦一区二区三区免费| 色www永久免费网站| 亚洲另类自拍丝袜第1页| 国产成人涩涩涩视频在线观看免费| 精品多毛少妇人妻AV免费久久| 在线电影你懂的亚洲| 国产一区二区三区在线免费观看| 国产午夜无码片免费| 亚洲国产视频久久| 亚洲日韩欧洲无码av夜夜摸| 中文字幕乱码免费视频| 四虎影视永久在线精品免费|