如何获得点击的listitem?

时间:2011-10-16 17:07:04

标签: flash actionscript-3 events contextmenu

我为我的列表创建了一个contextMenu。然后我有一个这样的函数代码:

lmi5.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(e:ContextMenuEvent){

}); 

我怎样才能知道点击了哪个listItem?

我希望“e.mouseTarget”是一个项目,但它是一个列表的CellRenderer。

2 个答案:

答案 0 :(得分:0)

编辑:

'e.mouseTarget'不是上下文菜单中的选定项,而是右键单击的显示元素。我猜你需要在上下文菜单中为每个项添加一个不同的事件监听器函数,这样你就可以知道它们中的哪一个被点击了,例如:

var myContextMenu:ContextMenu new ContextMenu();
var item:ContextMenuItem = new ContextMenuItem("item 1");
var item2:ContextMenuItem = new ContextMenuItem("item 2");

myContextMenu.customItems.push(item);
myContextMenu.customItems.push(item2);

item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, item1_select_handler);
item2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, item2_select_handler);

function item1_select_handler(e:ContextMenuEvent):void
{
  trace("item 1!!");
}

function item2_select_handler(e:ContextMenuEvent):void
{
  trace("item 2!!");
}

答案 1 :(得分:0)

var l:Object=(e.mouseTarget).data

这将为您提供cellRenderer

中包含的数据