0

これは何日も私を悩ませてきました、永遠にグーグルした後に答えを得ることができないようです...

問題は簡単です、

私は次のようなイベントリスナーを持つ長方形を持っています:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

private function startMove(event:MouseEvent):void
{
    this.nativeWindow.startMove();
}

これは正常に機能します。

この長方形の内側にもボタンがあり、ボタンをクリックすると、長方形をクリックした場合と同じようにウィンドウがドラッグされます。

どうすればこれを防ぐことができますか?イベントを削除しようとしましたが、機能しませんでした。削除するイベント、mouseDownイベントまたはNativeDragイベントすらわかりません... nativeWindowにはstopDrag()関数がありません。簡単な解決策はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

0

targetイベント(発生元)がリッスンしているディスパッチャである場合にのみ、イベントを処理する必要があります。ディスパッチャはを介して識別されevent.currentTargetます。したがって、これはあなたのコードがどのように見える必要があるかです:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

private function startMove(event:MouseEvent):void
{
   if (event.target == event.currentTarget)
      this.nativeWindow.startMove();
}

PS Stack Overflowを初めて使用することに気づきました-ようこそ!私の答えが役に立ったと思ったら、必ず賛成して、緑色のチェックマークで受け入れてください。

于 2011-10-17T01:08:51.263 に答える