Игнорировать обработчик событий nativeWindow
Это беспокоило меня уже несколько дней, кажется, я не могу получить ответ после того, как погуглил навсегда...
Проблема проста,
У меня есть прямоугольник со слушателем событий, например, так:
rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);
private function startMove(event:MouseEvent):void
{
this.nativeWindow.startMove();
}
это отлично работает
У меня также есть кнопка внутри этого прямоугольника, и когда я нажимаю кнопку, окно перетаскивается так же, как если бы я нажал на прямоугольник.
Как я могу остановить это? Я попытался удалить событие, но это не сработало, я даже не знаю, какое событие удалить, событие mouseDown или NativeDrag... В nativeWindow нет функции stopDrag(). Есть ли простое решение?
Любая помощь высоко ценится!
1 ответ
Вам нужно только обработать событие, если событие 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 - добро пожаловать! Если вы найдете мой ответ полезным, обязательно добавьте его и примите зеленую галочку