- 浏览: 290425 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (163)
- ETL (4)
- Oracle (24)
- Win (2)
- Apache (5)
- struts2 (1)
- ArcGIS (21)
- Java (17)
- other (6)
- JavaScript (4)
- Xml (4)
- c# (2)
- webSphere (5)
- Ext (2)
- Flex (35)
- Svn (3)
- tomcat (3)
- MyEclipse (4)
- MySQL (2)
- ibatis (2)
- log4j (4)
- spring (1)
- SqlServer (2)
- android (4)
- ios (3)
- SDE (2)
- mac (1)
- Linux (9)
- Mina2 (1)
最新评论
-
markss:
您好,请问kettle循环处理的内存泄漏问题是否已经解决了?毕 ...
Kettle -
1qqqqqq:
图呢 ???
Myeclipse 9.0集成FLASH BUILDER 4.5 -
hanyi366:
现在MyEclipse 都2014版了,好像MyEclipse ...
Visual Editor 插件 安装 -
cnjmwr:
MyEclipse8.6的Eclipse版本是3.5的 ve1 ...
Visual Editor 插件 安装 -
cloudphoenix:
大神 我特地登陆来回帖,真是帮了我的大忙了。看了一个多月的AS ...
FlexGlobals.topLevelApplication
1.如果你是Desktop Application
监听事件的MouseEvent.RIGHT_CLICK事件
比如对某个控件a进行监控右键点击事件
a.addEventListener(MouseEvent.RIGHT_CLICK,func);
鼠标的其他事件也可以监听,具体见http://livedocs.adobe.com/flex/3_cn/langref/flash/events/MouseEvent.html
2.如果是Web Appliction(麻烦了!)
其基本思路为:
1,在FLEX中利用外部接口注册一个函数, 作为接收外部(HTML)右键事件的入口
2,在FLEX应用所在的HTML中拦截鼠标右键事件,调用FLEX外部函数,并取消事件的广播,以阻止事件到达FLEX应用.
3,在FLEX应用程序上监听mouseOver事件,并记录当前鼠标所在对象
4,当入口函数接收到HTML发送的右键事件后,模拟生成一个鼠标右键事件(buttonDown = false), 并发送到当前对象
5,在对象的mouseDown处理函数中,根据buttonDown的标志,分别处理鼠标左右键事件
这个思路比较清晰可行, 鼠标右键事件的流程为:
HTML鼠标右键事件----FLEX外部函数-----模拟的鼠标右键事件------相应的处理函数
具体的实现为:
1, 在FLEX所在的HTML增加
<script>
function onNsRightClick(e){
if(e.which == 3){
FlexTest.openRightClick();
e.stopPropagation();
}
return false;
}
function onIeRightClick(e){
if(event.button > 1){
FlexTest.openRightClick();
parent.frames.location.replace('javascript: parent.falseframe');
}
return false;
}
if(navigator.appName == "Netscape"){
document.captureEvents(Event.MOUSEDOWN);
document.addEventListener("mousedown", onNsRightClick, true);
}
else{
document.onmousedown=onIeRightClick;
}
</script>
2, 修改FLEX的MXML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()" mouseOver="getMouseTarget(event)" >
private var mouseTarget:DisplayObject;
function init()
{
ExternalInterface.addCallback("openRightClick", openRightClick);
}
function getMouseTarget(event:MenuEvent):void
{
mouseTarget = DisplayObject(event.target);
}
function openRightClick():void
{
var e:MouseEvent = new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, mouseTarget.mouseX, mouseTarget.mouseY);
mouseTarget.dispatchEvent(e);
}
function showMouseEvent(event)
{
if(event.buttonDown == true)
Alert.show("Left");
else
Alert.show("Right");
}
<mx:Image x="0" y="10" id="bbb" name="bbb" source="res/15.jpg" mouseDown="showMouseEvent(event)" height="247"/>
在修改完后,满怀信心的进行测试,结果右键菜单还能够出现!试了很多办法也不行,幸亏我的同事赵辉发现了解决方法,在这里向他表示感谢!
具体的方法就是修改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"
);
ADOBE文档中对wmode的解释:
Sets the Window Mode property of the SWF file for transparency, layering, and positioning in the browser. Valid values of wmode are window, opaque, and transparent.
Set to window to play the SWF in its own rectangular window on a web page.
Set to opaque to hide everything on the page behind it.
Set to transparent so that the background of the HTML page shows through all transparent portions of the SWF file. This can slow animation performance.
To make sections of your SWF file transparent, you must set the alpha property to 0. To make your application's background transparent, set the alpha property on the <mx:Application> tag to 0.
The wmode property is not supported in all browsers and platforms.
现在就可以灵活的使用鼠标右键功能了!在IE6和FF2.0中测试通过
http://www.flex-flex.net/blog/article.asp?id=12
发表评论
-
Flex 记住密码
2012-09-01 15:08 12761 在密码正确的情况下,如果“记住密码”是选中的,那么将用户名 ... -
FlexClient、MessageClient、FlexSession
2012-08-16 09:17 909服务端FlexClient、MessageClient、Fle ... -
Flex加密算法设计方案
2012-07-31 10:09 1161对于 Web 应用程序,安全登录是很重要的。 ... -
Flex 读取 bmp 格式的图片
2012-07-07 14:34 2577现在要求把后台bmp格式的图片,在flash中显 ... -
Flex组件的行为和动画效果
2012-07-05 16:44 882触发器名称 ... -
flex项目中用到了关于时间的计算
2012-07-05 11:11 19141.计算两时间的差值 var date1:Date ; var ... -
使用搜索的关键字过滤DataGrid的行
2012-06-09 14:39 803这里主要展示如何使用搜索的关键字过滤DataGrid的行。其实 ... -
flex的取整(取数)数学运算实例
2012-06-05 20:23 2564<?xml version="1.0&q ... -
自动获得flex中输入框焦点
2012-05-18 08:51 735//在html页面中增加 //swfname--为sw ... -
Flex 滚动条样式设置
2012-04-27 18:00 2589滚动条滚动慢问题:verticalLineScrollSize ... -
Flex组件优化 callLater
2012-04-11 11:29 921Flash & Flex组件优化的杀手锏call ... -
async-threading
2012-04-10 16:09 956开源项目async-threading能使as3支持多线 ... -
Flex异步令牌AsyncToken的用法介绍
2012-04-10 14:03 803什么是AsyncToken?官方文档是这样描述的:&q ... -
Arcgis Symbol
2012-04-07 17:02 7362ArcGIS Engine9.3为开发人员提供了32种符号,主 ... -
ArcGis api for flex 中 Map控件的属性
2012-03-24 17:43 4061<?xml version="1.0&q ... -
Flex异步令牌AsyncToken的用法介绍
2012-03-14 18:20 743什么是AsyncToken?官方文档是这样描述的:&quo ... -
Flex session和HTTP session过期时间(timeout)的设置方法
2012-03-13 17:52 1512<!-- --> 以下设置的time ... -
FLEX使用remoteobject交互结合spring AOP思想控制项目权限
2012-03-13 17:50 1412本文介绍如何用FLEX+SPRING 使用remoteo ... -
Flex Alert组件使用方法
2012-03-13 13:39 1086Flex Alert组件使用方法,通过Alert.show(. ... -
FlexGlobals.topLevelApplication
2012-03-12 16:00 5901在Flex 3读取HTML页面的flashvars的变量需要使 ...
相关推荐
"flex屏蔽系统右键菜单 & 自定义菜单"这个主题聚焦于如何禁用默认的系统右键菜单并创建自定义的右键菜单,以提供更个性化的用户体验。下面将详细介绍这个过程涉及的关键知识点。 1. Flex环境:Flex是Adobe开发的一...
完全屏蔽flex自带的右键菜单,实现自定义右键菜单,附件有完整可运行的例子。 这个问题折腾了一天多,在网上搜了很多资料,几乎都是一样的,转来转去,且讲的不明不白。这里我提供了可运行的全部代码,让你轻松搞定...
总的来说,通过理解并应用Flex的`ContextMenuStrip`和`MenuItem`类,开发者可以实现完全屏蔽默认右键菜单,并创建符合应用需求的自定义右键菜单,提供更丰富的交互体验。这个过程中,需要注意的是,自定义菜单的设计...
本文将深入探讨如何在Flex环境中实现自定义的右键菜单,包括屏蔽浏览器的默认右键菜单,创建XML格式的多级菜单,以及设置菜单出现位置的自适应策略。 首先,我们需要了解Flex屏蔽浏览器系统右键的基本方法。在...
本项目标题为"flex自制右键菜单",描述中提到作者从网上获取了相关代码并进行改写,实现了屏蔽Flex默认的右键菜单以及动态生成右键菜单的功能。下面我们将详细探讨Flex中如何实现这一目标。 首先,Flex是由Adobe...
总之,"Flex右键菜单例子"是一个针对Flex开发者的实用教程,它展示了如何在Flex应用,特别是使用OpenScales地图库的应用中,自定义右键菜单并屏蔽系统默认的右键行为。这个例子将帮助开发者提升用户体验,确保地图...
在Flex开发中,右键菜单...总结起来,创建和管理Flex中的右键菜单涉及`Menu`类的使用、数据结构的定义、事件监听器的注册以及可能的默认事件处理的阻止。通过灵活运用这些技术,开发者可以为用户提供更丰富的交互体验。
本篇文章将深入探讨如何在Flex应用中实现自定义的右键菜单,包括两种主要的方法:系统右键菜单的扩展和完全屏蔽系统菜单以创建自定义菜单。 首先,我们来看第一种方法——扩展系统右键菜单。在Flex中,我们可以利用...
本Demo "Flex 3完整的右键自定义菜单" 正是为此目的而设计,它展示了如何在Flex 3环境中创建、屏蔽默认菜单并实现自定义的右键上下文菜单。 在Flex 3中,我们主要使用mx.controls.ContextMenu类来创建自定义的右键...
标题提到的"Flash 11.2新功能,Flex屏蔽右击菜单"是指在使用Adobe Flash Player 11.2及Flex框架进行开发时,如何阻止用户通过鼠标右键点击在应用程序上弹出默认的上下文菜单,以及如何自定义自己的右键菜单。...
在这个项目中,`rightClick.js`可能通过监听Flash对象的鼠标事件,并阻止默认的右键菜单显示,从而达到屏蔽右键的功能。开发者可能需要将这段代码嵌入到HTML页面中,并与Flash对象关联,以实现屏蔽效果。 `LICENSE....
在Flex开发中,有时我们需要对默认的右键菜单进行自定义,以满足特定的应用场景或交互需求。本文将介绍两种方法来实现Flex自定义右键菜单。 方法一: 1. **屏蔽内置右键菜单**:首先,我们需要在HTML模板文件(如`...
总结来说,这篇关于“Flex的组件”的博文探讨了如何在Flex应用中屏蔽右键菜单,这是通过监听`contextmenu`事件并调用`event.preventDefault()`来实现的。同时,我们还了解了Flex项目结构中的几个关键文件和目录的...
如远程对象的配置, flex 默认右键 菜单的屏蔽, datagrid 的渲染器, 编辑器。 tip 提示的重写。 Menu 的默认样式改写, 比如把分割线变细,flex 组件的生命周期,flex皮肤样式,动态图片的加载, 文件的上传于下载...