По умолчанию искра TextArea имеет встроенный ContextMenu с параметрами «Вырезать», «Копировать», «Вставить», «Удалить» и т. Д.Как отключить контекстное меню по умолчанию в текстовой области в ActionScript 3?
Я хочу заменить этот ContextMenu на пользовательский, но у меня возникла проблема с отключением по умолчанию.
После добавления пользовательского в первый раз, я получаю по умолчанию ContextMenu, а со второго раза получаю пользовательский ContextMenu.
Я использую следующие коды для текстового поля:
<s:TextArea id="txtArea" width="100%" height="100%" borderVisible="false" focusAlpha="0.01"
verticalScrollPolicy="off" selectionHighlighting="always" styleName="TextBox"
needsSoftKeyboard="true" focusRect="false" buttonMode="true" useHandCursor="true" mouseChildren="true"/>
И используя следующие коды для добавления пользовательских ContextMenu в текстовой области правой кнопки мыши:
eventMap.mapListener(view.txtArea , MouseEvent.RIGHT_MOUSE_DOWN ,onRightMouseDown);
private function onRightMouseDown(e:MouseEvent):void
{
var item1:ContextMenuItem = new ContextMenuItem("Cancel", true);
var item2:ContextMenuItem = new ContextMenuItem("Select", true);
var contextMenu:ContextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
contextMenu.customItems.push(item1);
contextMenu.customItems.push(item2);
view.txtArea.contextMenu = contextMenu;
}
Но я не знаю, почему default ContextMenu приходит в первый раз.
Итак, у кого-нибудь есть идея, почему это происходит или где я делаю неправильно?
Привет @Glitcher Я попытался поместить мои коды в конструктор классов, а также попытался поместить коды в создание Complete, но в обоих случаях я получаю контекстное меню по умолчанию в первом щелчке правой кнопкой мыши. – Ashish