这已经困扰了我好几天,似乎无法在谷歌搜索后得到答案......
问题很简单,
我有一个带有事件监听器的矩形,如下所示:
rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);
private function startMove(event:MouseEvent):void
{
this.nativeWindow.startMove();
}
这很好。
我在这个矩形中也有一个按钮,当我点击按钮时,窗口就像我点击了矩形一样拖动。
如何阻止这种情况发生?我尝试删除事件,但这不起作用,我甚至不知道要删除哪个事件,mouseDown或NativeDrag事件... nativeWindow中没有stopDrag()函数。有一个简单的解决方案吗?
任何帮助都非常感谢!
答案 0 :(得分:0)
如果事件的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的新手 - 欢迎!如果您发现我的答案有用,请务必通过绿色选中标记进行投票并接受