在我的 flex 应用程序中,我创建了一个 Tilelist。在这个 Tilelist 中,我使用 ItemRenderer 在每个 tile 中创建一个由图像和 VSlider 组成的框。
当您单击图像时,图块需要可拖动,但在滑动滑块时不可拖动。我怎样才能做到这一点?我在谷歌上搜索了一天,我真的不知道。
我期待着你的帮助。谢谢你。
在我的 flex 应用程序中,我创建了一个 Tilelist。在这个 Tilelist 中,我使用 ItemRenderer 在每个 tile 中创建一个由图像和 VSlider 组成的框。
当您单击图像时,图块需要可拖动,但在滑动滑块时不可拖动。我怎样才能做到这一点?我在谷歌上搜索了一天,我真的不知道。
我期待着你的帮助。谢谢你。
我找到了解决问题的方法,但它可能不是最好的。
使用这个:
public var overImage:Boolean = false;
public function checkAllow(evt:DragEvent):void {
if(overImage == false)
{
evt.preventDefault()
}
}
public function isOverImage():void {
overImage = true;
}
public function isOutImage():void {
overImage = false;
}
我这样称呼这些函数:
在我的图像组件上
mouseOver="outerDocument.isOverImage()" mouseOut="outerDocument.isOutImage()"
对于我的 tilelist,我这样做了
Tiles.addEventListener(DragEvent.DRAG_START, checkAllow);
希望它可以帮助一些人。
if(event.target is ScrollThumb )
{
return;
}
通过在 imageDragStart 方法中返回 sroller 的 scrollThumb 属性解决了问题...
背景:我的 TileList 提供了 mouseDown ="event.currentTarget.addEventListener(MouseEvent.MOUSE_MOVE, imageDragStart )";
它与滚动条一起影响了完整的 TileList ,
以上是临时修复,但期待专家的建议。
基本上这是用于 Native 应用程序 (AIR),使用 NativeDragStart。但我被迫在我的 TileList 上使用 mouseDown 来调用我的 imageStartDrag() 方法....