我有一些List和TileList控件。如何获得当前鼠标指针下的列表项的引用?如何在Flex中找到当前鼠标指针下的列表项?
1
A
回答
2
感谢迄今答案。我最终想出了一些不同的东西,并认为我也会分享它。我选择这种解决方案的主要原因是因为我实际上是在响应外部事件,因为我使用custom context menu库来捕获JavaScript中的右键单击。当右击发生时,用户可能不一定在移动鼠标。我可以随时跟踪哪个项目的指针结束,但我认为这会变得复杂。总之我的解决方案的子类名单的工作,像一些事情:
package components{
import mx.controls.List
use namespace mx_internal
public class MyList extends List{
public function findItemIndexForMouse(stageX:Number, stageY:Number):Number{
var item
var pt:Point = new Point(stageX, stageY)
pt = listContent.globalToLocal(pt)
var rc:int = listItems.length
for (var i:int = 0; i < rc; i++)
{
if (rowInfo[i].y <= pt.y && pt.y < rowInfo[i].y + rowInfo[i].height)
{
item = listItems[i][0]
break
}
}
return itemRendererToIndex(item)
}
}
}
现在你可以调用list.findItemIndexForMouse()来获取给定的鼠标的舞台坐标的项目的索引。确保使用mx_internal命名空间,否则您将无法访问某些必需的实例变量。对于TileList你必须做同样的事情,除了方法看起来有点不同:
public function findItemIndexForMouse(stageX:Number, stageY:Number):Number{
var item
var pt:Point = new Point(stageX, stageY)
pt = listContent.globalToLocal(pt)
var rc:int = listItems.length;
for (var i:int = 0; i < rc; i++)
{
if (rowInfo[i].y <= pt.y && pt.y < rowInfo[i].y + rowInfo[i].height)
{
var cc:int = listItems[i].length;
for (var j:int = 0; j < cc; j++)
{
if (listItems[i][j] && listItems[i][j].x <= pt.x
&& pt.x < listItems[i][j].x + listItems[i][j].width)
{
item = listItems[i][j];
if (!DisplayObject(item).visible)
item = null;
break;
}
}
break;
}
}
return itemRendererToIndex(item)
}
4
事件侦听器添加到每个项目在列表中的鼠标悬停然后在功能这将是event.currentTarget
2
没有在列表中的一个简单的方法/ TileList中的Flex 3的做到这一点:
<mx:TileList id="tileList" itemRollOver="{trace('found item ' + event.itemRenderer)}"/>
的ListEvent.ITEM_ROLL_OVER
有一堆有用的特性太:
event.itemRenderer
event.rowIndex
event.columnIndex
通过event.itemRenderer.data
你可以得到翻身的数据,并从那里将selectedIndex与tileList.dataProvider.getItemIndex(event.itemRenderer.data)
相关问题
- 1. 获取鼠标指针下的DIV列表(鼠标事件)
- 2. QTextEdit:在鼠标指针下得到字
- 3. 如何制作当前鼠标指针的位图?
- 4. 在Javascript中,如何获取鼠标指针所在div的当前id?
- 5. 如何在TreeView中的鼠标指针下获取项目(树节点)?
- 6. 在鼠标指针下获取文字
- 7. Flex更改列表项当鼠标关闭时选择
- 8. 如何查找字母跨度中鼠标指针的位置
- 9. 获取鼠标指针下的文本
- 10. 获取鼠标指针下的文本
- 11. 找到鼠标指针指向的位置
- 12. 鼠标从当前项目移动时如何隐藏列表项目?
- 13. WebRTC鼠标指针
- 14. UWP MapControl鼠标/指针在
- 15. 在列表框中找到当前选定项目的矩形
- 16. C#webBrowser控件如何在鼠标指针下获取数据
- 17. 如何在鼠标指针WebBrowser控件下获取文本?
- 18. 如何将鼠标指针更改为手指指针?
- 19. 如何在C中找到文件指针的当前行位置?
- 20. 如何在HTML中突出显示当前渲染线在鼠标指针? (不是表/行)
- 21. 如何更改鼠标指针上的鼠标悬停分手?
- 22. 如何获得鼠标指针下的单元格(ListView)?
- 23. DropDown列表在用户可以移动鼠标指针前消失
- 24. 如何查找选定列表中当前选项的索引
- 25. 如何在C#中获取当前的鼠标光标坐标?
- 26. 在JavaScript中移动鼠标指针
- 27. 如何在java中返回我的鼠标指针的位置?
- 28. 如何使用c查找最近打开/当前活动文件的鼠标指针的路径使用c#
- 29. 如何在AS3中找到鼠标下的颜色
- 30. 找到指向链接列表中的元素的指针c