因群里一个群员的要求,写了这个demo,代码粗糙,根据一个控件的enabled属性来设定 ContextMenuItem 中某一项是否可用。。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle"
horizontalAlign="center" creationComplete="init1()" >
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.events.ContextMenuEvent;
//在全局上定义四个菜单条目
private var myMenuItem1:ContextMenuItem;
private var myMenuItem2:ContextMenuItem;
private var myMenuItem3:ContextMenuItem;
private var myMenuItem4:ContextMenuItem;
private var myMenu:ContextMenu;
private var myMenu2:ContextMenu;
//开始初始化
private function init1():void
{
myMenuItem1 = new ContextMenuItem('全局的 菜单',true);
myMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
//全局的 菜单
myMenu = new ContextMenu();
myMenuItem1.enabled=false;
myMenu.customItems.push(myMenuItem1);
myMenu.hideBuiltInItems();
//隐藏指定的 ContextMenu 对象中的所有内置菜单项(“设置”除外)。
this.contextMenu = myMenu;
//textinput 菜单
var myMenu2 = new ContextMenu();
myMenu2.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);
myMenuItem3 = new ContextMenuItem('textinput1 菜单',true);
myMenu2.customItems.push(myMenuItem3);
txt1.contextMenu=myMenu2;
txt.contextMenu=myMenu2;
}
private function menuSelectHandler(d:ContextMenuEvent):void
{
//获取点击对象信息
var text:TextInput=d.contextMenuOwner as TextInput;
if(text!=null)
{
if(text.enabled)
{
myMenuItem3.enabled=true;
}else
{
myMenuItem3.enabled=false;
}
}
}
//导航逻辑
private function menuItemHandler(event:ContextMenuEvent):void
{
switch (event.target)
{
case myMenuItem1:
navigateToURL(new URLRequest('http://www.google.cn/'));
break;
case myMenuItem2:
navigateToURL(new URLRequest('http://www.baidu.com/'));
break;
case myMenuItem3:
navigateToURL(new URLRequest('http://sports.sohu.com/'));
break;
}
}
private function demoHandler():void
{
var functionName:String = "demo";
if (this.hasOwnProperty(functionName))
this[functionName]();
}
]]>
</mx:Script>
<mx:TextInput text="可在舞台任何地方右击菜单" fontSize="13" id="txt" enabled="false"/>
<mx:TextInput text="可在舞台任何地方右击菜单" fontSize="13" id="txt1"/>
<mx:Button label="demo" click="demoHandler()" >
</mx:Button>
</mx:Application>
分享到:
相关推荐
var menuItem4:ContextMenuItem = new ContextMenuItem("Flash官方最新播放插件升级程序下载更新播放插件",true); myContextMenu.customItems.push(menuItem1); myContextMenu.customItems.push(menuItem2)...
【HideIninspector】——将公共变量隐藏 【Header(“分组说明”)】——将可视化变量进行分组 【Tooltip(“内容说明”)】——鼠标移动变量处时显示说明信息 【Range(最小值,最大值)】——通过拖动条的方式来...
安装# install with npmnpm i add-context-menu快速开始# import add-context-menuimport ContextMenu from ' add-context-menu 'import ContextMenuItem from ' add-context-menu 'Vue.use(ContextMenu)Vue.use...
ContextMenuItem ContextMenuItem 类 continue continue CONTROL Key.CONTROL copy ContextMenu.copy()、ContextMenuItem.copy() cos Math.cos() createElement XML.createElement() ...
my_cm.customItems.push(new ContextMenuItem("欢迎点击进入My LOVER'S 空间~~~!", menu1)); function menu1(obj, item) { getURL("http://user.qzone.qq.com/857448367", "_blank"); } _root.menu = my_cm; 3: ...