Главная / Action Script 3
Пакетflash.events
Классpublic class ContextMenuEvent
НаследованиеContextMenuEvent Inheritance Event Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Flash® Player отправляет объекты ContextMenuEvent, когда пользователь вызывает контекстное меню или взаимодействует с ним. Пользователи вызывают контекстное меню нажатием второстепенной кнопки указывающего устройства (как правило, это мышь или шаровой указатель). Существует два типа объекта ContextMenuEvent:

Посмотреть примеры

См. также

Класс ContextMenu
Класс ContextMenuItem


Общедоступные свойства
 СвойствоОпределено
 Inheritedbubbles : Boolean
[только для чтения] Определяет, является ли событие "событием на цепочке".
Event
 Inheritedcancelable : Boolean
[только для чтения] Определяет, можно ли отключить поведение, связанное с событием.
Event
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  contextMenuOwner : InteractiveObject
Объект списка отображения, к которому присоединено меню.
ContextMenuEvent
 InheritedcurrentTarget : Object
[только для чтения] Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
Event
 InheritedeventPhase : uint
[только для чтения] Текущая фаза в потоке событий.
Event
  isMouseTargetInaccessible : Boolean
Если принимает значение true, свойству mouseTarget задается значение null по причинам, связанным с песочницами безопасности.
ContextMenuEvent
  mouseTarget : InteractiveObject
Объект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню.
ContextMenuEvent
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
 Inheritedtarget : Object
[только для чтения] Целевой объект события.
Event
 Inheritedtype : String
[только для чтения] Тип события.
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
Служебная функция для реализации метода toString() в пользовательских классах ActionScript 3.0 Event.
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"
[статические] Константа Event.ACTIVATE определяет значение свойства type объекта события Activitate.
Event
 InheritedADDED : String = "added"
[статические] Константа Event.ADDED определяет значение свойства type добавленного объекта события.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[статические] Константа Event.ADDED_TO_STAGE определяет значение свойства type объекта события addedToStage.
Event
 InheritedCANCEL : String = "cancel"
[статические] Константа Event.CANCEL определяет значение свойства type объекта события cancel.
Event
 InheritedCHANGE : String = "change"
[статические] Константа Event.CHANGE определяет значение свойства type объекта события change.
Event
 InheritedCLEAR : String = "clear"
[статические] Задает значение свойства type для объекта события clear.
Event
 InheritedCLOSE : String = "close"
[статические] Константа Event.CLOSE определяет значение свойства type объекта события close.
Event
 InheritedAIR-only CLOSING : String = "closing"
[статические] Константа Event.CLOSING определяет значение свойства type объекта события closing.
Event
 InheritedCOMPLETE : String = "complete"
[статические] Константа Event.COMPLETE определяет значение свойства type объекта события complete.
Event
 InheritedCONNECT : String = "connect"
[статические] Константа Event.CONNECT определяет значение свойства type объекта события connect.
Event
 InheritedCOPY : String = "copy"
[статические] Задает значение свойства type для объекта события copy.
Event
 InheritedCUT : String = "cut"
[статические] Задает значение свойства type для объекта события cut.
Event
 InheritedDEACTIVATE : String = "deactivate"
[статические] Константа Event.DEACTIVATE определяет значение свойства type объекта события deactivate.
Event
 InheritedDISPLAYING : String = "displaying"
[статические] Задает значение свойства type для объекта события displaying.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[статические] Константа Event.ENTER_FRAME определяет значение свойства type объекта события enterFrame.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[статические] Определяет значение свойства type объекта exitFrame.
Event
 InheritedAIR-only EXITING : String = "exiting"
[статические] Константа Event.EXITING определяет значение свойства type объекта exiting.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[статические] Задает значение свойства type для объекта события frameConstructed.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[статические] Константа Event.FULL_SCREEN определяет значение свойства type для объекта события fullScreen.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[статические] Константа Event.HTML_BOUNDS_CHANGE определяет значение свойства type объекта htmlBoundsChange.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[статические] Константа Event.HTML_DOM_INITIALIZE определяет значение свойства type объекта события htmlDOMInitialize.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[статические] Константа Event.HTML_RENDER определяет значение свойства type объекта события htmlRender.
Event
 InheritedID3 : String = "id3"
[статические] Константа Event.ID3 определяет значение свойства type объекта id3.
Event
 InheritedINIT : String = "init"
[статические] Константа Event.INIT определяет значение свойства type объекта init.
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[статические] Константа Event.LOCATION_CHANGE определяет значение свойства type объекта события locationChange.
Event
  MENU_ITEM_SELECT : String = "menuItemSelect"
[статические] Определяет значение свойства type объекта события "menuItemSelect".
ContextMenuEvent
  MENU_SELECT : String = "menuSelect"
[статические] Определяет значение свойства type объекта события menuSelect.
ContextMenuEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[статические] Константа Event.MOUSE_LEAVE определяет значение свойства type объекта события mouseLeave.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[статические] Константа Event.NETWORK_CHANGE определяет значение свойства type объекта события networkChange.
Event
 InheritedOPEN : String = "open"
[статические] Константа Event.OPEN определяет значение свойства type объекта open.
Event
 InheritedPASTE : String = "paste"
[статические] Задает значение свойства type для объекта события paste.
Event
 InheritedREMOVED : String = "removed"
[статические] Константа Event.REMOVED определяет значение свойства type объекта события removed.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[статические] Константа REMOVED_FROM_STAGE определяет значение свойства type объекта события removedFromStage.
Event
 InheritedRENDER : String = "render"
[статические] Константа Event.RENDER определяет значение свойства type объекта события render.
Event
 InheritedRESIZE : String = "resize"
[статические] Константа Event.RESIZE определяет значение свойства type объекта события resize.
Event
 InheritedSCROLL : String = "scroll"
[статические] Константа Event.SCROLL определяет значение свойства type объекта события scroll.
Event
 InheritedSELECT : String = "select"
[статические] Константа Event.SELECT определяет значение свойства type объекта события select.
Event
 InheritedSELECT_ALL : String = "selectAll"
[статические] Задает значение свойства type для объекта события selectAll.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[статические] Константа Event.SOUND_COMPLETE определяет значение свойства type объекта события soundComplete.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[статические] Константа Event.TAB_CHILDREN_CHANGE определяет значение свойства type объекта события tabChildrenChange.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[статические] Константа Event.TAB_ENABLED_CHANGE определяет значение свойства type объекта события tabEnabledChange.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[статические] Константа Event.TAB_INDEX_CHANGE определяет значение свойства type объекта события tabIndexChange.
Event
 InheritedUNLOAD : String = "unload"
[статические] Константа Event.UNLOAD определяет значение свойства type объекта unload.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[статические] Константа Event.USER_IDLE определяет значение свойства type объекта события userIdle.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[статические] Константа Event.USER_PRESENT определяет значение свойства type объекта события userPresent.
Event
Сведения о свойстве
contextMenuOwnerсвойство
contextMenuOwner:InteractiveObject  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Объект списка отображения, к которому присоединено меню. Это может быть цель мыши (mouseTarget) или один из его предков в списке отображения.



Реализация
    public function get contextMenuOwner():InteractiveObject
    public function set contextMenuOwner(value:InteractiveObject):void
isMouseTargetInaccessibleсвойство 
isMouseTargetInaccessible:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 10

Если принимает значение true, свойству mouseTarget задается значение null по причинам, связанным с изолированными средами безопасности. Если номинальным значением свойства mouseTarget является ссылка на объект DisplayObject в другой изолированной среде, свойство mouseTarget принимает значение null, пока не будут заданы двусторонние права в границах данной изолированной среды безопасности. Права задаются путем вызова метода Security.allowDomain() из SWF-файла или указания файла политик на сервере файла изображений и задания свойства LoaderContext.checkPolicyFile при загрузке изображения.



Реализация
    public function get isMouseTargetInaccessible():Boolean
    public function set isMouseTargetInaccessible(value:Boolean):void

См. также

mouseTargetсвойство 
mouseTarget:InteractiveObject  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 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
Версии среды выполнения:  1.0 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()метод
override public function clone():Event

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает копию объекта ContextMenuEvent и задает значение каждого свойства, совпадающее с оригиналом.

Возвращает
Event — Новый объект ContextMenuEvent, значения свойств которого соответствуют значениям оригинала.
toString()метод 
override public function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает строку, содержащую все свойства объекта ContextMenuEvent. Строка имеет следующий формат:

[ContextMenuEvent type=значение bubbles=значение cancelable=значение ... contextMenuOwner=значение]

Возвращает
String — Строка, содержащая все свойства объекта ContextMenuEvent.
Сведения о константе
MENU_ITEM_SELECTКонстанта
public static const MENU_ITEM_SELECT:String = "menuItemSelect"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет значение свойства type объекта события menuItemSelect.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
contextMenuOwnerОбъект списка отображения, к которому присоединено меню.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
mouseTargetОбъект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню.
targetВыбранный объект ContextMenuItem. Цель не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.

См. также

MENU_SELECTКонстанта  
public static const MENU_SELECT:String = "menuSelect"

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет значение свойства type объекта события menuSelect.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
contextMenuOwnerОбъект списка отображения, к которому присоединено меню.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
mouseTargetОбъект списка отображения, который пользователь щелкает правой кнопкой мыши для отображения контекстного меню.
targetОбъект ContextMenu, который сейчас будет отображаться. Цель не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget, чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент.

См. также

Примеры Как пользоваться примерами
ContextMenuEventExample.as

В следующем примере используется класс ContextMenuEventExample для удаления элементов контекстного меню по умолчанию из рабочей области и добавления нового элемента меню, изменяющего свет квадрата в рабочей области. Этот код выполняет следующие задачи.
  1. Объявляется свойство myContextMenu, которое затем назначается новому объекту ContextMenu, и свойство redRectangle (типа Sprite).
  2. Вызывается метод removeDefaultItems(). Этот метод удаляет все встройнные элементы контекстного меню, кроме "Печать".
  3. Вызывается метод addCustomMenuItems(). Этот метод помещает элемент меню Противоположные цвета в массиве defaultItems с помощью метода push() объекта Array. Добавляется прослушиватель событий 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;
        }
    }
}