Как получить listitem, который был нажат? - PullRequest
0 голосов
/ 16 октября 2011

Я сделал contextMenu для своего списка. Тогда у меня есть такая функция для кода:

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

}); 

Как я могу узнать, по какому элементу списка щелкнули?

Я надеялся, что "e.mouseTarget" будет элементом, но это CellRenderer списка.

Ответы [ 2 ]

0 голосов
/ 17 октября 2011
var l:Object=(e.mouseTarget).data

Это даст вам данные, содержащиеся в cellRenderer

0 голосов
/ 16 октября 2011

EDIT:

«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!!");
}
...