AS3 получает индекс элемента списка при наведении курсора мыши

Я пытаюсь получить индекс элемента в объекте List при наведении курсора мыши (помните, что это не тот selectedIndex, который мне нужен). Вот код, который я сейчас использую:

list.addEventListener(ListEvent.ITEM_ROLL_OVER, onItemRollOver);
function onItemRollOver(e:Event):void {
var itemInfo:Number = 0;

/*
    THIS IS WHERE I NEED THE INDEX NUMBER OF THE ITEM BEING ROLLED OVER INSTEAD OF THE SELECTED ITEM
*/
itemInfo = list.selectedIndex; 

txt_Display.text = 'Item Index #: ' + itemInfo;

play();
}

Заранее спасибо за помощь!


person Lord-Link    schedule 16.02.2011    source источник


Ответы (2)


Это в том случае, если ваша функция слушателя принимает в качестве параметра.

Это должно работать:

itemInfo = e.index;
person Jordan    schedule 16.02.2011
comment
Я думал, что так и должно быть, но он компилируется с ошибкой, если я вставил этот код, я также попробовал ë.currentTarget.index; и это тоже не работает ... Есть другие идеи? Я получаю следующую ошибку: 1119: Доступ к возможно неопределенному свойству someProperty через ссылку со статическим типом flash.events:Event. - person Lord-Link; 16.02.2011
comment
Я просто понимаю, почему он дал эту ошибку в моей функции, у меня было e: Event вместо e: ListEvent, как только я изменил это и использовал e.index, как вы заявили, он начал работать нормально! Спасибо за помощь!!! - person Lord-Link; 16.02.2011

Чтобы прояснить, вот последний код, который работает:

list.addEventListener(ListEvent.ITEM_ROLL_OVER, onItemRollOver);
function onItemRollOver(e:ListEvent):void { 
var itemInfo:Number = 0;

itemInfo = e.index;

txt_Display.text = 'Item Index #: ' + itemInfo;

play();
}

Спасибо еще раз за помощь!

person Lord-Link    schedule 16.02.2011