是否有任何解决方法可以在flex上下文菜单中创建子菜单,而不是停止从javascript右键单击。
此致
嗨弗兰克,
是的,我想在上下文菜单中创建子菜单。你能帮帮我吗?
此致
嗨弗兰克,
我需要应用程序的上下文菜单而不是数据网格。
在我最初的问题中,“除了停止从javascript右键单击”之外的短语意味着
“在html中右键单击,调用javascript函数并通过js调用a函数。”
您指定的项目执行上述步骤。我不想用这个
过程。有没有其他方法可以在flex上下文菜单中实现子菜单。你能
吗?请告诉我,如果是这样..
此致 Arvind的
答案 0 :(得分:0)
是的,有。
我不知道,你对此的确切含义是什么:
除了停止右键单击 的JavaScript。
但是,如果要在子菜单中创建条目,请执行以下操作:
//Instance of my own class
private var myContext:myContextMenu = new myContextMenu();
application.contextMenu = myContext.myContextMenu;
//Here is the Class:
package com.my.components
{
/* ////////////////////////////////////////////
///// My Context Menü /////////////////////
///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
//to use: //
// private var myContext:MyContextMenu = new MyContextMenu(); //
// init() in creationComplete //
// application.contextMenu = myContext.myContextMenu; //
////////////////////////////////////////////////////////////////////////////// */
import flash.display.Sprite;
import flash.events.ContextMenuEvent;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.text.TextField;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuBuiltInItems;
import flash.ui.ContextMenuItem;
public class MyContextMenu extends Sprite
{
public var myContextMenu:ContextMenu;
private var menuLabel:String = String.fromCharCode(169)+" My Company GmbH";
public function MyContextMenu()
{
myContextMenu = new ContextMenu;
removeDefaultItems();
addCustomItems();
myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);
super();
}
private function removeDefaultItems():void
{
myContextMenu.hideBuiltInItems();
var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
defaultItems.print = true;
}
private function addCustomItems():void
{
var item:ContextMenuItem = new ContextMenuItem(menuLabel);
myContextMenu.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemSelectHandler);
}
private function menuSelectHandler(event:ContextMenuEvent):void
{
}
private function menuItemSelectHandler(event:ContextMenuEvent):void
{
navigateToURL(new URLRequest('http://www.my-company.de'));
}
private function createLabel():TextField
{
var txtField:TextField = new TextField();
//txtField.text = textLabel;
txtField.text = "RightClickHere";
return txtField;
}
}
}
玩得开心
编辑: 有一个有趣的项目here。他们在html中捕获右键,调用javascript函数并通过js调用函数。
不幸的是,FP或NativeMenu APi的限制仅允许在级别上下文菜单中。阅读here
谢