在我的flex应用程序中,我创建了一个Tilelist。在这个Tilelist中,我使用ItemRenderer在每个tile中创建一个由图像和VSlider组成的框。
单击图像时,图块需要可拖动,但滑动滑块时不能拖动。我怎样才能做到这一点?我一直在谷歌上搜索有一天,我真的不知道。
我期待着你的帮助。 谢谢。
答案 0 :(得分:1)
我找到了解决问题的方法,但可能不是最好的方法。
使用此:
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()"
对于我的瓷砖列表,我做了这个
Tiles.addEventListener(DragEvent.DRAG_START, checkAllow);
希望它可以帮助一些人。
答案 1 :(得分:0)
if(event.target is ScrollThumb )
{
return;
}
通过在imageDragStart方法中返回sroller的scrollThumb属性来解决问题...
BackGround:我的TileList随mouseDown =“event.currentTarget.addEventListener(MouseEvent.MOUSE_MOVE,imageDragStart)”提供;
正在影响完整的TileList以及滚动条,
以上是临时解决方案,但期待专家建议。
基本上这适用于Native应用程序(AIR),使用NativeDragStart。但我被迫在我的TileList上使用mouseDown来调用我的imageStartDrag()方法....