Flex中的鼠标右键

今天用了一小段时间实现了Flex自定义的右键菜单。

 

      在Flex程序中,如果实现自定义的右键菜单,简单的通过ContextMenu类的操作是不行的。不能去掉Flash Player自带的三条信息。

 

      通过参考网上的一些blog,最终找到了解决的方案,那就是屏蔽浏览器的鼠标右键,同时监听鼠标右键,当触发右键点击事件的时候,JavaScript调用Flex程序中的方法生成自定义的右键菜单。

 

      首先添加JavaScript代码(可以修改Flex工程下html-template/index.template.html,防止编译的时候原来写的JavaScript代码全部被清空)

 

 

<script>
function onNsRightClick(e){
    if(e.which == 3){
         FlexTest.openRightClick();
         e.stopPropagation(); 
    }
    stopDefault();
    return false;
}

function onIeRightClick(e){
     if(event.button > 1){
          FlexTest.openRightClick();  

          //Flex.openRightClick();//这句话是为了出错让js不再往下执行,从而禁止flash中鼠标右键的现实,但是在状态栏中会报错;  

          parent.frames.location.replace('javascript: parent.falseframe');
          e.stopPropagation();                   //这句是关键
      }
      stopDefault();
      return false;

}
//stopDefault方法是可以阻止浏览器的默认事件触发,试用了下,在IE6下能实现是阻止右键,但是在IE8下就不管事了。
 function stopDefault( e ) { 
                if ( e && e.preventDefault ){
                    e.preventDefault(); 
                }else{ 
                    window.event.returnValue = false; 
                }
                return false; 
            } 
if(navigator.appName == "Netscape"){
      document.captureEvents(Event.MOUSEDOWN); 
      document.addEventListener("mousedown", onNsRightClick, true); 
}else{
      document.onmousedown=onIeRightClick; 
}

</script>


     Flex代码:

 

在<mx:Application>中添加createComplete="{init()}"

//注册一个回调函数
private function init():void{
    ExternalInterface("openRightClick",showMenu);
}

//菜单位置
private function showMenu():void{
      tempMenu.x = this.mouseX;
      tempMenu.y = this.mouseY;
}

//菜单的布局
<mx:Canvas id="tempMenu" backgroundColor="0xFFFFFF">
      ...
</mx:Canvas>

 

 

    另外还需要添加如下关键的配置

   改wmode参数, 将wmode设置为opaque或transparent都可以达到这个效果

AC_FL_RunContent(
   "src", "playerProductInstall",
   "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
   "width", "100%",
   "height", "100%",
   "align", "middle",
   "id", "FlexTest",
   "wmode", "opaque", //////////////////////注意:这里是关键
   "quality", "high",
   "bgcolor", "#869ca7",
   "name", "FlexTest",
   "allowScriptAccess","sameDomain",
   "type", "application/x-shockwave-flash",
   "pluginspage", "http://www.adobe.com/go/getflashplayer"
);

 

这样就能实现自定义右键菜单了。

 

MiniMax H3本地部署实战:ComfyUI整合包安装与提速插件验证指南 在AIGC工具链快速演进的当下,本地部署内容生成模型成为许多创作者和开发者的关注焦点。本地部署意味着数据不出本机、可按需定制工作流,还能规避云端排队与外部依赖,其核心价值在于为内容生产提供可控、私密且可编程的生成环境。ComfyUI作为模块化节点式AI绘画工具,凭借灵活的工作流编排和API接口能力,成为承载这类模型的热门平台。MiniMax H3作为支持文本、参考图等多种输入的内容生成模型,与ComfyUI结合后,既适合个人进行概念验证,也能用于团队私有化流程搭建。实际落地过程中,中文整合包显著降低了环境配 阅读详情

相关推荐

告别玄学:手把手配置EtherCAT从站PDI接口与同步采样(含Sync/Latch信号实战)

本文详细解析了EtherCAT从站PDI接口配置与同步采样技术,涵盖微处理器通信与直接驱动IO模式选择、同步采样四大触发模式(SOF、Latch_in、Sync0/Sync1)及输出触发实战。通过伺服驱动器实例,帮助工程师突破配置难点,实现高精度同步控制,提升工业自动化系统性能。

weixin_30667649的博客 483

Flex鼠标右键事件及菜单

<?xmlversion="1.0"encoding="utf-8"?><s:Applicationxmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"xmlns:mx="library://ns...

weixin_30737363的博客 162

MAS1102量产工具实战指南:从下载到开卡,附固件选择与RDT优化技巧

本文提供MAS1102量产工具的实战指南,涵盖从工具下载、短接识别到开卡操作的全过程。重点解析了固件选择策略与RDT优化技巧,帮助用户成功修复基于联芸MAS1102主控的固态硬盘,解决常见开卡错误并提升SSD性能与稳定性。

c2d3e4f的博客 2204

有关flexCell属性的设置

.版本 2 .程序集 区域, , 公开 .程序集变量 区域对象, 对象 .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用 .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用 区域对象.清除 () .子程序 取对象, 对象, 公开 返回 (区域对象) .子程序 置对

zhongyuangong521的专栏 7311

gps matlab 书,《GPS基本原理及其Matlab仿真》杨俊.pdf

本书讲述了全球定位系统(GPS)的基本原理和概念,具体包括:GPS测量原理、GPS的结构和发展历史;GPS伪距定位和载波相位定位的原理;GPS中使用的坐标系和时间系统;C/A码的实现原理及载波调制过程;GPS信号捕获和跟踪原理及实现;便携式GPS系统的设计与实现及常用芯片资料等。此外,本书还讲了利用Matlab仿真GPS中涉及到的各种算法和原理,并且给出了所有仿真源程序和仿真框图。利用Matlab...

weixin_33603105的博客 1176

解构LOL数值平衡:从基础公式到实战决策的深层逻辑

本文深入解析了《英雄联盟》数值平衡的底层逻辑,从基础攻击力公式到经济系统设计,揭示了MOBA游戏背后的精密数学架构。通过实战案例展示护甲减伤、技能伤害建模等核心机制,探讨装备定价与战斗节奏的数值关联,帮助玩家理解版本更新中的平衡艺术。

weixin_42540248的博客 347

关于右键动态创建菜单的响应问题

右键动态创建菜单后,点击菜单项,却无反应,

鱼容 411

白话FOC控制中各环节的参数的意义与如何设置参数

FOC参数整定是控制系统的关键环节,如同驯马需要调节"智能马鞍"。核心参数分为三类:电流环参数(P/I/D)决定响应速度和稳定性,速度环参数需慢于电流环5-10倍带宽,系统参数(极对数、电阻等)是电机固有属性必须准确设置。调参心法:由内而外先调电流环,遵循先P后I慎用D原则,内环带宽必须大于外环。利用自动辨识工具,通过听觉(滋滋声表示P过大)和波形观察来微调,最终实现精准控制。

汽车软件开发 356

FLEX右键菜单以及实现自定义的FLEX右键功能

在网上发现了一篇相关的BLOG,地址如下: http://www.flex-flex.net/blog/article.asp?id=12 完全屏蔽FLEX右键菜单比当初想象的要难一些,因为大多数FLEX文档中仅仅介绍了如何隐藏一部分FLEX右键菜单,例如: 代码 复制 - 运行 varcontextMenu:ContextMenu=newContextMenu(); c...

TTS 205

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

STM32 cubeMX配置串口重定向

这篇文章主要讲解什么是串口重定向,为什么要串口串口重定向。使用printf函数和上位机通信是非常的方便的。希望大家都能够掌握。

m0_49476241的博客 4573

Flex右键

由于项目需要,要把FLEX的右键菜单屏蔽掉,本想这种事应该早就有人去做了,应该很好解决,没想到捣鼓半天依然不是很完美。 第一种方法: FLEX默认的是右键弹出他的那个菜单,我们自然而然就想到让他隐藏就好了,于是就有了下面的代码: var menu:ContextMenu = new ContextMenu(); menu.hideBuiltI

全心全意为人民服务的柠檬 2523

9篇5章2节:NHIS 数据库的常规数据下载

文章概述了 NHIS-Teen、NHPI NHIS 等补充性调查以及 2024 年 NHIS 数据资源的具体内容,包括问卷材料、技术文档和数据模块,为研究者高效、规范地使用 NHIS 数据提供参考框架。

MD Code 1440

flex 屏蔽鼠标右键

屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能 完全屏蔽FLEX右键菜单比当初想象的要难一些,因为大多数FLEX文档中仅仅介绍了如何隐藏一部分FLEX右键菜单,例如: var contextMenu : ContextMenu = new ContextMenu(); contextMenu.hideBuiltInItems(); // 隐藏一些内建的鼠标右键菜单项 但是这个功能

zhaodog的专栏 3992

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

php 屏蔽鼠标右键 复制,FLEX屏蔽鼠标右键

屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能==========================================================================================修订记录:2007/06/07 : 创建2007/07/02 : 修改了一个错误: getMouseTarget参数event为MouseEvent, 而不是Menu...

weixin_39564151的博客 204

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Flex自定义鼠标右键

这里写了一个简单的自定义鼠标右键,代码不难,请看注释 其它的请大家参看官方文档  ContextMenu类 ContextMenuItem类  源码:<?xml version="1.0" encoding="utf-8"?><br /> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"  verticalAlign="middle" horizontalAlign="center" creationCo

wkyb608的专栏 1395

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Flex 鼠标右键

最近手头有个项目需要屏蔽Flex鼠标右键菜单并自定义新的flex鼠标右键菜单。通过ContextMenu hideBuiltInItems,还是达不到我要的效果,那该死的几个选项还是存在,在网上搜刮了很久,发现了Google Code上有一个RightClickManager的项目。通过JavaScript与ActionScript的结合,屏蔽了右键,并调用actionscript注册方法,使用时...

weixin_30522095的博客 183

Flex屏蔽并自定义鼠标右键菜单(转载)

最近手头有个项目需要屏蔽Flex鼠标右键菜单并自定义新的flex鼠标右键菜单。通过ContextMenu hideBuiltInItems,还是达不到我要的效果,那该死的几个选项还是存在,在网上搜刮了很久,发现了Google Code上有一个RightClickManager的项目。通过JavaScript与ActionScript的结合,屏蔽了右键,并调用actionscript注册方法,使用时

aijingyi的专栏 852

FLEX里鼠标右键弹出菜单,

今天偶然想做FLEX里鼠标右键弹出菜单,但其实是很麻烦的,因为忘记了FLASH自己是有个鼠标右键菜单的,所以还是不动为秒, 但如果实在要动的话,也可以,转载之: 1.如果你是Desktop Application 监听事件的MouseEvent.RIGHT_CLICK事件 比如对某个控件a进行监控右键点击事件 a.addEventListener(MouseEv...

weixin_34368949的博客 85

Flex屏蔽并自定义鼠标右键菜单

最近手头有个项目需要屏蔽Flex鼠标右键菜单并自定义新的flex鼠标右键菜单。通过ContextMenu hideBuiltInItems,还是达不到我要的效果,那该死的几个选项还是存在,在网上搜刮了很久,发现了Google Code上有一个RightClickManager的项

田冠军的专栏 734

FLEX屏蔽鼠标右键

屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能==========================================================================================修订记录:     2007/06/07 :  创建           2007/07/02 : 修改了一个错误: getMouseTarget参数event为M

firefight的专栏 5397

在flex中监听鼠标右键事件,提示 TypeError Error 2007 参数type不能为空。

在flex中监听鼠标右键事件 ,报错,提示 缺少参数、 TypeError: Error 2007: 参数 type 不能为空。 at flash.events::EventDispatcher/addEventListener() at com.waylau.eagleos.components::DesktopExplorer/service_res...

weixin_34375251的博客 546

Flex4 添加鼠标右键于Tree

今天应项目需求,开发制作一个给Tree添加右键菜单的功能,右键菜单的原理为:新建一个ContextMenu类;修改ContextMenu对象的item属性;将这个对象赋给一个控件。 实现起来代码很简单,但是效果不是太好,废话不多说,先上代码。 <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="l

mosaic&Bernie 677

屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能

完全屏蔽FLEX右键菜单比当初想象的要难一些,因为大多数FLEX文档中仅仅介绍了如何隐藏一部分FLEX右键菜单,例如: var contextMenu : ContextMenu = new ContextMenu(); contextMenu.hideBuiltInIt

lxping1012的专栏 5492

flex自定义右键菜单

,在FLEX中利用外部接口注册一个函数, 作为接收外部(HTML)右键事件的入口2,在FLEX应用所在的HTML中拦截鼠标右键事件,调用FLEX外部函数,并取消事件的广播,以阻止事件到达FLEX应用.3,在FLEX应用程序上监听mouseOver事件,并记录当前鼠标所在对象4,当入口函数接收到HTML发送的右键事件后,模拟生成一个鼠标右键事件(buttonDown = false), 并发送到当前...

leopard0825的专栏 153
上一篇: ExternalInterface.call()实现的as和js通信出现问题和解决方法
下一篇: Flex中存储key-value关系
Javaaba521
博客等级 码龄18年 2粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值