flash.events
public class ContextMenuEvent
继承ContextMenuEvent Inheritance Event Inheritance Object

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

用户生成上下文菜单或与上下文菜单交互时,Flash® Player 将调度 ContextMenuEvent 对象。 用户可以通过单击用户指针设备(通常为鼠标或轨迹球)的辅助按钮来生成上下文菜单。 有两种类型的 ContextMenuEvent 对象:

查看示例

另请参见

ContextMenu class
ContextMenuItem class



公共 属性
 属性定义方
 Inheritedbubbles : Boolean
[read-only] 指示事件是否为冒泡事件。
Event
 Inheritedcancelable : Boolean
[read-only] 指示是否可以阻止与事件相关联的行为。
Event
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  contextMenuOwner : InteractiveObject
菜单附加到的显示列表对象。
ContextMenuEvent
 InheritedcurrentTarget : Object
[read-only] 当前正在使用某个事件侦听器处理 Event 对象的对象。
Event
 InheritedeventPhase : uint
[read-only] 事件流中的当前阶段。
Event
  mouseTarget : InteractiveObject
用户右键单击以显示上下文菜单的显示列表对象。
ContextMenuEvent
 Inheritedprototype : Object
[static] 对类或函数对象的原型对象的引用。
Object
 Inheritedtarget : Object
[read-only] 事件目标。
Event
 Inheritedtype : String
[read-only] 事件的类型。
Event
公共 方法
 方法定义方
  
ContextMenuEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, mouseTarget:InteractiveObject = null, contextMenuOwner:InteractiveObject = null)
创建一个 Event 对象,其中包含有关菜单事件的特定信息。
ContextMenuEvent
  
创建 ContextMenuEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
ContextMenuEvent
 Inherited
formatToString(className:String, ... arguments):String
在自定义 Event 类中实现 toString() 方法的实用程序函数。
Event
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
检查是否已对事件调用 preventDefault()。
Event
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
如果可以取消事件的默认行为,则取消该行为。
Event
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
Event
 Inherited
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
Event
  
返回一个字符串,其中包含 ContextMenuEvent 对象的所有属性。
ContextMenuEvent
 Inherited
返回指定对象的原始值。
Object
公共 常量
 常量定义方
 InheritedACTIVATE : String = "activate"
[static] 定义 activate 事件对象的 type 属性值。
Event
 InheritedADDED : String = "added"
[static] 定义 added 事件对象的 type 属性值。
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] 定义 addedToStage 事件对象的 type 属性值。
Event
 InheritedCANCEL : String = "cancel"
[static] 定义 cancel 事件对象的 type 属性值。
Event
 InheritedCHANGE : String = "change"
[static] 定义 change 事件对象的 type 属性值。
Event
 InheritedCLOSE : String = "close"
[static] 定义 close 事件对象的 type 属性值。
Event
 InheritedCOMPLETE : String = "complete"
[static] 定义 complete 事件对象的 type 属性值。
Event
 InheritedCONNECT : String = "connect"
[static] 定义 connect 事件对象的 type 属性值。
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] 定义 deactivate 事件对象的 type 属性值。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] 定义 enterFrame 事件对象的 type 属性值。
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] 定义 fullScreen 事件对象的 type 属性值。
Event
 InheritedID3 : String = "id3"
[static] 定义 id3 事件对象的 type 属性值。
Event
 InheritedINIT : String = "init"
[static] 定义 init 事件对象的 type 属性值。
Event
  MENU_ITEM_SELECT : String = "menuItemSelect"
[static] 定义 menuItemSelect 事件对象的 type 属性值。
ContextMenuEvent
  MENU_SELECT : String = "menuSelect"
[static] 定义 menuSelect 事件对象的 type 属性值。
ContextMenuEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] 定义 mouseLeave 事件对象的 type 属性值。
Event
 InheritedOPEN : String = "open"
[static] 定义 open 事件对象的 type 属性值。
Event
 InheritedREMOVED : String = "removed"
[static] 定义 removed 事件对象的 type 属性值。
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] 定义 removedFromStage 事件对象的 type 属性值。
Event
 InheritedRENDER : String = "render"
[static] 定义 render 事件对象的 type 属性值。
Event
 InheritedRESIZE : String = "resize"
[static] 定义 resize 事件对象的 type 属性值。
Event
 InheritedSCROLL : String = "scroll"
[static] 定义 scroll 事件对象的 type 属性值。
Event
 InheritedSELECT : String = "select"
[static] 定义 select 事件对象的 type 属性值。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] 定义 soundComplete 事件对象的 type 属性值。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] 定义 tabChildrenChange 事件对象的 type 属性值。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] 定义 tabEnabledChange 事件对象的 type 属性值。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] 定义 tabIndexChange 事件对象的 type 属性值。
Event
 InheritedUNLOAD : String = "unload"
[static] 定义 unload 事件对象的 type 属性值。
Event
属性详细信息
contextMenuOwner属性
contextMenuOwner:InteractiveObject  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

菜单附加到的显示列表对象。 此对象可以是鼠标目标 (mouseTarget) 或显示列表中它的始祖之一。


实现
    public function get contextMenuOwner():InteractiveObject
    public function set contextMenuOwner(value:InteractiveObject):void
mouseTarget属性 
mouseTarget:InteractiveObject  [read-write]

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

用户右键单击以显示上下文菜单的显示列表对象。 此对象可以是菜单附加到的显示列表对象 (contextMenuOwner) 或显示列表中它的后代之一。


实现
    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
Player 版本 : Flash Player 9

创建一个 Event 对象,其中包含有关菜单事件的特定信息。 将 Event 对象作为参数传递给事件侦听器。

参数
type:String — 事件的类型。 可能的值包括:
  • ContextMenuEvent.MENU_ITEM_SELECT
  • ContextMenuEvent.MENU_SELECT
 
bubbles:Boolean (default = false) — 确定 Event 对象是否参与事件流的冒泡阶段。 事件侦听器可以通过继承的 bubbles 属性访问此信息。
 
cancelable:Boolean (default = false) — 确定是否可以取消 Event 对象。 事件侦听器可以通过继承的 cancelable 属性访问此信息。
 
mouseTarget:InteractiveObject (default = null) — 用户右键单击以显示上下文菜单的显示列表对象。 此对象可以是 contextMenuOwner 或显示列表中它的后代之一。
 
contextMenuOwner:InteractiveObject (default = null) — 菜单附加到的显示列表对象。 此对象可以是 mouseTarget 或显示列表中它的始祖之一。

另请参见

方法详细信息
clone()方法
public override function clone():Event

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

创建 ContextMenuEvent 对象的副本,并设置每个属性的值以匹配原始属性值。

返回
Event — 其属性值与原始属性值匹配的新 ContextMenuEvent 对象。
toString()方法 
public override function toString():String

语言版本 : ActionScript 3.0
Player 版本 : 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
Player 版本 : Flash Player 9

定义 menuItemSelect 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
contextMenuOwner菜单附加到的显示列表对象。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
mouseTarget用户右键单击以显示上下文菜单的显示列表对象。
target已选定的 ContextMenuItem 对象。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

另请参见

MENU_SELECT常量 
public static const MENU_SELECT:String = "menuSelect"

语言版本 : ActionScript 3.0
Player 版本 : Flash Player 9

定义 menuSelect 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
contextMenuOwner菜单附加到的显示列表对象。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
mouseTarget用户右键单击以显示上下文菜单的显示列表对象。
target将要显示的 ContextMenu 对象。 target 不一定是显示列表中注册此事件侦听器的对象。 请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。

另请参见

示例 如何使用示例

以下示例使用 ContextMenuEventExample 类从舞台中删除默认的上下文菜单项,并添加能够更改舞台上正方形颜色的新菜单项。 该示例执行下列任务:
  1. 声明 myContextMenu 属性,然后将其分配给新的 ContextMenu 对象并声明 redRectangle 属性(属于 Sprite 类型)。
  2. 调用 removeDefaultItems() 方法。 此方法删除除“打印”之外的所有内置上下文菜单项。
  3. 调用 addCustomMenuItems() 方法。 此方法将 Reverse Colors 菜单项放入 defaultItems 数组中(使用 Array 的 push() 方法)。 将 menuItemSelect 事件侦听器添加到 ContextMenuItem 对象中,关联的方法名为 menuItemSelectHandler()。 当用户从上下文菜单中选择“反转颜色”时,此方法将输出一些 trace() 语句。 此外,红色正方形将变为黑色,黑色文本将变为红色。
  4. 回到构造函数中,添加一个 menuSelect 事件侦听器以及关联的方法 menuSelectHandler(),每次选择上下文菜单中的一项时,只输出三条 trace() 语句。
  5. 构造函数调用 addChildren(),绘制一个红色正方形并将其添加到显示列表中(将立即显示该正方形)。
  6. 最后,将 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;
        }
    }
}




 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/ActionScriptLangRefV3/flash/events/ContextMenuEvent.html