4

在我的 flex 应用程序中,我创建了一个 Tilelist。在这个 Tilelist 中,我使用 ItemRenderer 在每个 tile 中创建一个由图像和 VSlider 组成的框。

当您单击图像时,图块需要可拖动,但在滑动滑块时不可拖动。我怎样才能做到这一点?我在谷歌上搜索了一天,我真的不知道。

我期待着你的帮助。谢谢你。

4

2 回答 2

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()"

对于我的 tilelist,我这样做了

Tiles.addEventListener(DragEvent.DRAG_START, checkAllow);

希望它可以帮助一些人。

于 2008-11-12T18:04:36.473 回答
0
            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() 方法....

于 2012-06-14T07:24:16.930 回答