Я решил использовать обходной путь ....
Вместо добавления selectionChange
eventListener, я использовал mouseUp
и mouseDown
, чтобы проверить время между кликом и релизом, и если время релиза меньше, чем клик плюс некоторый далай, я возвращаю выбор, иначе нет. ..
<s:DataGrid id="grigliaData"
sortableColumns="false"
rowHeight="100"
interactionMode="touch"
mouseDown="grigliaData_mouseDownHandler(event)"
mouseUp="grigliaData_mouseUpHandler(event)"
top="230" left="5" right="5" bottom="50"
dataProvider="{listaEventi}" width="100%" height="100%">
//AS Code
private var _lastClickEvent:int;
protected function grigliaData_mouseDownHandler(event:MouseEvent):void
{
_lastClickEvent = getTimer();
}
protected function grigliaData_mouseUpHandler(event:MouseEvent):void
{
if (getTimer() < _lastClickEvent + 200) // 200 = Dalay
{
// return selectedIndex
}
}
EDIT:
Я также добавил проверку мышиного и мышиного положения, теперь сетка отправляет selectionChange, если время до выпуска и изменение положения меньше, чем значение по умолчанию (время / пиксель) ...