【发布时间】:2016-06-07 10:56:33
【问题描述】:
默认情况下,spark TextArea 有一个内置的 ContextMenu,带有“剪切”、“复制”、“粘贴”、“删除”等选项。
我想将此 ContextMenu 替换为自定义菜单,但在禁用默认菜单时遇到问题。
在第一次添加自定义后,我得到了默认的 ContextMenu,然后从第二次开始,我得到了自定义的 ContextMenu。
我正在为 textarea 使用以下代码:
<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;
}
但我不知道为什么默认的 ContextMenu 会第一次出现。
所以有人知道为什么会发生这种情况或我做错了什么吗?
【问题讨论】:
标签: actionscript-3 apache-flex flex4