Игнорировать обработчик событий nativeWindow - PullRequest
0 голосов
/ 17 октября 2011

Это беспокоило меня уже несколько дней, кажется, я не могу получить ответ после того, как погуглил навсегда ...

Проблема проста,

У меня есть прямоугольник со слушателем событий, например:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

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

это отлично работает.

У меня также есть кнопка внутри этого прямоугольника, и когда я нажимаю кнопку, окно перетаскивается так же, как если бы я нажал на прямоугольник.

Как я могу остановить это? Я попытался удалить событие, но это не сработало, я даже не знаю, какое событие удалить, событие mouseDown или NativeDrag ... В nativeWindow нет функции stopDrag (). Есть ли простое решение?

Любая помощь высоко ценится!

1 Ответ

0 голосов
/ 17 октября 2011

Вам нужно обрабатывать событие, только если событие target (откуда оно возникло) - это диспетчер, которого вы слушали. Диспетчер идентифицируется через event.currentTarget. Вот как должен выглядеть ваш код:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

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

P.S. Я заметил, что вы новичок в Stack Overflow - добро пожаловать! Если вы найдете мой ответ полезным, обязательно добавьте его и примите зеленую галочку

...