| 包 | flash.events |
| 类 | public class ContextMenuEvent |
| 继承 | ContextMenuEvent Event Object |
| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
ContextMenuEvent.MENU_ITEM_SELECT
ContextMenuEvent.MENU_SELECT
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]() | bubbles : Boolean [只读 (read-only)] 指示事件是否为冒泡事件。 | Event | |
![]() | cancelable : Boolean [只读 (read-only)] 指示是否可以阻止与事件相关联的行为。 | Event | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| contextMenuOwner : InteractiveObject 菜单附加到的显示列表对象。 | ContextMenuEvent | ||
![]() | currentTarget : Object [只读 (read-only)] 当前正在使用某个事件侦听器处理 Event 对象的对象。 | Event | |
![]() | eventPhase : uint [只读 (read-only)] 事件流中的当前阶段。 | Event | |
| isMouseTargetInaccessible : Boolean 指示 mouseTarget 属性是否因某些安全原因设置为 null。 | ContextMenuEvent | ||
| mouseTarget : InteractiveObject 用户右键单击以显示上下文菜单的显示列表对象。 | ContextMenuEvent | ||
![]() | prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | |
![]() | target : Object [只读 (read-only)] 事件目标。 | Event | |
![]() | type : String [只读 (read-only)] 事件的类型。 | Event | |
| 方法 | 定义方 | ||
|---|---|---|---|
ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null) 创建一个 Event 对象,其中包含有关菜单事件的特定信息。 | ContextMenuEvent | ||
创建 ContextMenuEvent 对象的副本,并设置每个属性的值以匹配原始属性值。 | ContextMenuEvent | ||
![]() | 用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。 | Event | |
![]() |
指示对象是否已经定义了指定的属性。 | Object | |
![]() | 检查是否已对事件调用 preventDefault() 方法。 | Event | |
![]() |
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() | 如果可以取消事件的默认行为,则取消该行为。 | Event | |
![]() |
指示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() | 防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。 | Event | |
![]() | 防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。 | Event | |
返回一个字符串,其中包含 ContextMenuEvent 对象的所有属性。 | ContextMenuEvent | ||
![]() |
返回指定对象的原始值。 | Object | |
| 常量 | 定义方 | ||
|---|---|---|---|
![]() | ACTIVATE : String = "activate" [静态] ACTIVATE 常量定义 activate 事件对象的 type 属性的值。 | Event | |
![]() | ADDED : String = "added" [静态] Event.ADDED 常量定义 added 事件对象的 type 属性值。 | Event | |
![]() | ADDED_TO_STAGE : String = "addedToStage" [静态] Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。 | Event | |
![]() | CANCEL : String = "cancel" [静态] Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。 | Event | |
![]() | CHANGE : String = "change" [静态] Event.CHANGE 常量定义 change 事件对象的 type 属性值。 | Event | |
![]() | CLEAR : String = "clear" [静态] Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。 | Event | |
![]() | CLOSE : String = "close" [静态] Event.CLOSE 常量定义 close 事件对象的 type 属性的值。 | Event | |
![]() | [静态] Event.CLOSING 常量定义 closing 事件对象的 type 属性值。 | Event | |
![]() | COMPLETE : String = "complete" [静态] Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。 | Event | |
![]() | CONNECT : String = "connect" [静态] Event.CONNECT 常量定义 connect 事件对象的 type 属性值。 | Event | |
![]() | COPY : String = "copy" [静态] 定义 copy 事件对象的 type 属性值。 | Event | |
![]() | CUT : String = "cut" [静态] 定义 cut 事件对象的 type 属性值。 | Event | |
![]() | DEACTIVATE : String = "deactivate" [静态] Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。 | Event | |
![]() | DISPLAYING : String = "displaying" [静态] Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。 | Event | |
![]() | ENTER_FRAME : String = "enterFrame" [静态] Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。 | Event | |
![]() | EXIT_FRAME : String = "exitFrame" [静态] Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。 | Event | |
![]() | [静态] Event.EXITING 常量定义 exiting 事件对象的 type 属性值。 | Event | |
![]() | FRAME_CONSTRUCTED : String = "frameConstructed" [静态] Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。 | Event | |
![]() | FULLSCREEN : String = "fullScreen" [静态] Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。 | Event | |
![]() | ID3 : String = "id3" [静态] Event.ID3 常量定义 id3 事件对象的 type 属性值。 | Event | |
![]() | INIT : String = "init" [静态] Event.INIT 常量定义 init 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。 | Event | |
| MENU_ITEM_SELECT : String = "menuItemSelect" [静态] 定义 menuItemSelect 事件对象的 type 属性值。 | ContextMenuEvent | ||
| MENU_SELECT : String = "menuSelect" [静态] 定义 menuSelect 事件对象的 type 属性值。 | ContextMenuEvent | ||
![]() | MOUSE_LEAVE : String = "mouseLeave" [静态] Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。 | Event | |
![]() | OPEN : String = "open" [静态] Event.OPEN 常量用于定义 open 事件对象的 type 属性值。 | Event | |
![]() | PASTE : String = "paste" [静态] Event.PASTE 常量定义 paste 事件对象的 type 属性的值。 | Event | |
![]() | REMOVED : String = "removed" [静态] Event.REMOVED 常量定义 removed 事件对象的 type 属性值。 | Event | |
![]() | REMOVED_FROM_STAGE : String = "removedFromStage" [静态] Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。 | Event | |
![]() | RENDER : String = "render" [静态] Event.RENDER 常量定义 render 事件对象的 type 属性的值。 | Event | |
![]() | RESIZE : String = "resize" [静态] Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。 | Event | |
![]() | SCROLL : String = "scroll" [静态] Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。 | Event | |
![]() | SELECT : String = "select" [静态] Event.SELECT 常量定义 select 事件对象的 type 属性的值。 | Event | |
![]() | SELECT_ALL : String = "selectAll" [静态] Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。 | Event | |
![]() | SOUND_COMPLETE : String = "soundComplete" [静态] Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。 | Event | |
![]() | TAB_CHILDREN_CHANGE : String = "tabChildrenChange" [静态] Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。 | Event | |
![]() | TAB_ENABLED_CHANGE : String = "tabEnabledChange" [静态] Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。 | Event | |
![]() | TAB_INDEX_CHANGE : String = "tabIndexChange" [静态] Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。 | Event | |
![]() | UNLOAD : String = "unload" [静态] Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。 | Event | |
![]() | [静态] Event.USER_PRESENT 常量定义 userPresent 事件对象的 type 属性值。 | Event | |
| contextMenuOwner | 属性 |
contextMenuOwner:InteractiveObject [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
菜单附加到的显示列表对象。此对象可以是鼠标目标 (mouseTarget) 或显示列表中它的始祖之一。
public function get contextMenuOwner():InteractiveObject public function set contextMenuOwner(value:InteractiveObject):void| isMouseTargetInaccessible | 属性 |
isMouseTargetInaccessible:Boolean [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 10 |
指示 mouseTarget 属性是否因某些安全原因设置为 null。如果 menuTarget 的标称值是对其它沙箱中 DisplayObject 的引用,则 menuTarget 将设置为 null,除非同时具有跨此沙箱边界的双向权限。权限通过以下方式建立:从 SWF 文件调用 Security.allowDomain();或者通过从图像文件的服务器提供策略文件,并在加载图像时设置 LoaderContext.checkPolicyFile 标志。
public function get isMouseTargetInaccessible():Boolean public function set isMouseTargetInaccessible(value:Boolean):void另请参见
| mouseTarget | 属性 |
mouseTarget:InteractiveObject [读写] | 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
用户右键单击以显示上下文菜单的显示列表对象。此对象可以是菜单附加到的显示列表对象 (contextMenuOwner) 或显示列表中它的后代之一。
在以下两种情况下,此属性的值可以为 null:不存在任何鼠标目标(例如,当您在后台将鼠标置于某个对象上方时);存在鼠标目标,但它位于您无法访问的安全沙箱中。使用 isMouseTargetInaccessible() 属性可确定上述哪一个原因适用。
public function get mouseTarget():InteractiveObject public function set mouseTarget(value:InteractiveObject):void另请参见
| ContextMenuEvent | () | 构造函数 |
public function ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
创建一个 Event 对象,其中包含有关菜单事件的特定信息。将 Event 对象作为参数传递给事件侦听器。
参数type:String —
事件的类型。可能的值包括:
| |
bubbles:Boolean (default = false) —
确定 Event 对象是否参与事件流的冒泡阶段。事件侦听器可以通过继承的 bubbles 属性访问此信息。
| |
cancelable:Boolean (default = false) —
确定是否可以取消 Event 对象。事件侦听器可以通过继承的 cancelable 属性访问此信息。
| |
mouseTarget:InteractiveObject (default = null) —
用户右键单击以显示上下文菜单的显示列表对象。此对象可以是 contextMenuOwner 或显示列表中它的后代之一。
| |
contextMenuOwner:InteractiveObject (default = null) —
菜单附加到的显示列表对象。此对象可以是 mouseTarget 或显示列表中它的始祖之一。
|
另请参见
| clone | () | 方法 |
override public function clone():Event| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
创建 ContextMenuEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
返回Event — 其属性值与原始属性值匹配的新 ContextMenuEvent 对象。 |
| toString | () | 方法 |
override public function toString():String| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
返回一个字符串,其中包含 ContextMenuEvent 对象的所有属性。字符串的格式如下:
[ContextMenuEvent type=value bubbles=value cancelable=value ... contextMenuOwner=value ]
String — 一个字符串,其中包含 ContextMenuEvent 对象的所有属性。 |
| MENU_ITEM_SELECT | 常量 |
public static const MENU_ITEM_SELECT:String = "menuItemSelect"| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
定义 menuItemSelect 事件对象的 type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles
|
false
|
cancelable
|
false;没有要取消的默认行为。
|
contextMenuOwner
| 菜单附加到的显示列表对象。 |
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
mouseTarget
| 用户右键单击以显示上下文菜单的显示列表对象。 |
target
|
已选定的 ContextMenuItem 对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
| MENU_SELECT | 常量 |
public static const MENU_SELECT:String = "menuSelect"| 语言版本: | ActionScript 3.0 |
| 运行时版本: | AIR 1.0 Flash Player 9 |
定义 menuSelect 事件对象的 type 属性值。
此事件具有以下属性:
| 属性 | 值 |
|---|---|
bubbles
|
false
|
cancelable
|
false;没有要取消的默认行为。
|
contextMenuOwner
| 菜单附加到的显示列表对象。 |
currentTarget
| 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
mouseTarget
| 用户右键单击以显示上下文菜单的显示列表对象。 |
target
|
将要显示的 ContextMenu 对象。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。
|
另请参见
ContextMenuEventExample 类从舞台中删除默认的上下文菜单项,并添加能够更改舞台上正方形颜色的新菜单项。该示例执行下列任务:
myContextMenu 属性,然后将其分配给新的 ContextMenu 对象并声明 redRectangle 属性(属于 Sprite 类型)。
removeDefaultItems() 方法。此方法删除除“打印”之外的所有内置上下文菜单项。
addCustomMenuItems() 方法。此方法将 Reverse Colors 菜单项放入 defaultItems 数组中(使用 Array 的 push() 方法)。将 menuItemSelect 事件侦听器添加到 ContextMenuItem 对象中,关联的方法名为 menuItemSelectHandler()。当用户从上下文菜单中选择“反转颜色”时,此方法将输出一些 trace() 语句。此外,红色正方形将变为黑色,黑色文本将变为红色。
menuSelect 事件侦听器以及关联的方法 menuSelectHandler(),每次选择上下文菜单中的一项时,只输出三条 trace() 语句。
addChildren(),绘制一个红色正方形并将其添加到显示列表中(将立即显示该正方形)。
myContextMenu 分配给 redRectangle 属性的上下文菜单,以便仅当鼠标指针位于正方形上方时才显示自定义上下文菜单。
package {
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.ui.ContextMenuBuiltInItems;
import flash.events.ContextMenuEvent;
import flash.display.Sprite;
import flash.display.Shape;
import flash.text.TextField;
public class ContextMenuEventExample extends Sprite {
private var myContextMenu:ContextMenu;
private var menuLabel:String = "Reverse Colors";
private var textLabel:String = "Right Click";
private var redRectangle:Sprite;
private var label:TextField;
private var size:uint = 100;
private var black:uint = 0x000000;
private var red:uint = 0xFF0000;
public function ContextMenuEventExample() {
myContextMenu = new ContextMenu();
removeDefaultItems();
addCustomMenuItems();
myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);
addChildren();
redRectangle.contextMenu = myContextMenu;
}
private function addChildren():void {
redRectangle = new Sprite();
redRectangle.graphics.beginFill(red);
redRectangle.graphics.drawRect(0, 0, size, size);
addChild(redRectangle);
redRectangle.x = size;
redRectangle.y = size;
label = createLabel();
redRectangle.addChild(label);
}
private function removeDefaultItems():void {
myContextMenu.hideBuiltInItems();
var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
defaultItems.print = true;
}
private function addCustomMenuItems():void {
var item:ContextMenuItem = new ContextMenuItem(menuLabel);
myContextMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
}
private function menuSelectHandler(event:ContextMenuEvent):void {
trace("menuSelectHandler: " + event);
}
private function menuItemSelectHandler(event:ContextMenuEvent):void {
trace("menuItemSelectHandler: " + event);
var textColor:uint = (label.textColor == black) ? red : black;
var bgColor:uint = (label.textColor == black) ? black : red;
redRectangle.graphics.clear();
redRectangle.graphics.beginFill(bgColor);
redRectangle.graphics.drawRect(0, 0, size, size);
label.textColor = textColor;
}
private function createLabel():TextField {
var txtField:TextField = new TextField();
txtField.text = textLabel;
return txtField;
}
}
}