Flex屏蔽并自定义鼠标右键菜单
来源:互联网 发布:centos root用户登录 编辑:程序博客网 时间:2024/05/07 03:44
最近手头有个项目需要屏蔽Flex鼠标右键菜单并自定义新的flex鼠标右键菜单。通过ContextMenu hideBuiltInItems,还是达不到我要的效果,那该死的几个选项还是存在,在网上搜刮了很久,发现了Google Code上有一个RightClickManager的项目。通过JavaScript与ActionScript的结合,屏蔽了右键,并调用actionscript注册方法,使用时需要修改Flex生成的html文件,加入 “wmode”, “opaque”,或者直接修改index.template.html.
上代码:
AC_FL_RunContent( "src", "${swf}", "id", "${application}", "name", "${application}", "width", "${width}", "height", "${height}", "align", "middle", "menu", "false", "wmode", "opaque", "quality", "high", "bgcolor", "${bgcolor}", "allowScriptAccess", "always", "allowNetworking", "all", "type", "application/x-shockwave-flash", "pluginspage", "http://www.adobe.com/go/getflashplayer" );
按照自己的需要我稍做了修改,根据不同界面,出现不同的右键菜单。在RightClickManager.as文件中定义的JavaScript里面,我做了如下的修改
onIEMouse: function() {if (event.button ==2||event.button==0) {if(window.event.srcElement.id == RightClick.FlashObjectID &&RightClick.Cache == RightClick.FlashObjectID) {RightClick.call(); }document.getElementById(RightClick.FlashObjectID).parentNode.setCapture();if(window.event.srcElement.id) RightClick.Cache = window.event.srcElement.id;}}
这样子,就能在FF3,IE6,遨游,chrome2下顺利通过,(PS:我的机上就这些浏览器,其他没测)
RightClickHandles.as是用来统一管理右键菜单的单例类。RightClickMenuData.as是用于存储右键菜单内容的类。RightClickRegister.as 其实是我修改了FlexSprite.as。
使用说明:
在程序入口new 一下RightClickRegister就屏蔽掉了右键
在需要自定义右键的界面上注册右键Handle:
RightClickHandles.setHandleFunction(this, RightClickMenuData.Main_MIS,handle);function handle(item:Object):void{ trace(item.action);}
就会出现Main_MIS所指定的菜单内容,点击菜单后回调handle方法。并且传过来点击对象。
另外,如果你的项目对客户端中文输入有很高的要求的话,劝你不要对屏蔽右键抱太大希望。因为加入了 “wmode”, “opaque”,这对属性之后,将会对输入法造成很大的影响。本来还想解决掉右键点击时事件流的捕获问题,结果发现中文输入不了,彻底放弃了,偶滴神啊!稍后会上传源代码…源码已上传:下载地址1 下载地址2
下面说一下副作用:使用此种方法在Flex里屏蔽鼠标右键,导致的直接结果就是中文输入法不正常,啊门!
转载请注明: 出自 FlexHome
原文链接:http://flex.desizen.com/flex-custom-context-menu/
- Flex屏蔽并自定义鼠标右键菜单
- Flex屏蔽并自定义鼠标右键菜单
- Flex屏蔽并自定义鼠标右键菜单(转载)
- flex 自定义 屏蔽 右键菜单
- FLEX屏蔽鼠标右键
- flex 屏蔽鼠标右键
- 屏蔽鼠标右键菜单
- 屏蔽FLEX右键菜单
- javascript自定义右键菜单并屏蔽默认右键菜单【原创】
- javascript自定义右键菜单并屏蔽默认右键菜单【原创】
- Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)
- js屏蔽鼠标右键默认事件以实现自定义菜单
- Javascript屏蔽鼠标右键菜单
- js屏蔽鼠标右键菜单
- js屏蔽鼠标右键菜单
- Flex屏蔽默认右键菜单。
- Flex自定义鼠标右键
- 屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能
- 如何解决拖拽光标+resizeLeftRightCursor+在拖拽过程中保持不变,不闪烁?
- 知识墙
- TDE学习 (2) — 探秘列、表空间加密
- 二重启动时,激活已运行程序
- 查询 8WS
- Flex屏蔽并自定义鼠标右键菜单
- 今天在调试样式的时候,突然发现下面的字体还比较好看,中文的
- 实习中的问题(一)
- Ubuntu下GCC之libpcap库数据库通信协议解析基础框架代码
- 降落伞原则
- 数据在内存的存放
- 如何让TortoiseSVN仅导出新增或修改过(变更过)的文件
- hdu 4069 squiggly sudoku
- oracle点滴