4

私のフレックス アプリケーションでは、Tilelist を作成しました。この Tilelist では、ItemRenderer を使用して、各タイルに画像と VSlider で構成されるボックスを作成しています。

画像をクリックしたときにタイルをドラッグできるようにする必要がありますが、スライダーをスライドさせるときにタイルをドラッグできないようにする必要があります。どうすればこれを達成できますか? Google で 1 日検索して頭をかきむしっていましたが、まったくわかりません。

私はあなたの助けを楽しみにしています。ありがとうございました。

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

そして私のタイルリストのために私はこれをしました

Tiles.addEventListener(DragEvent.DRAG_START, checkAllow);

一部の人々に役立つことを願っています。

于 2008-11-12T18:04:36.473 に答える
0
            if(event.target is ScrollThumb )
        {
            return;
        }

imageDragStart メソッドで sroller の scrollThumb プロパティを返すことで問題が解決しました...

BackGround:私の TileList は mouseDown ="event.currentTarget.addEventListener(MouseEvent.MOUSE_MOVE, imageDragStart )"; で提供されます。

scroller とともに完全な TileList に影響を与えていた、

上記は一時的な修正でしたが、専門家の提案を期待しています。

基本的にこれはネイティブ アプリケーション (AIR) 用で、NativeDragStart を使用します。しかし、私の TileList で mouseDown を使用して、私の imageStartDrag() メソッドを呼び出すことを余儀なくされています....

于 2012-06-14T07:24:16.930 に答える