忽略nativeWindow事件侦听器

时间:2011-10-17 00:45:39

标签: actionscript-3 event-handling mouseevent nativewindow

这已经困扰了我好几天,似乎无法在谷歌搜索后得到答案......

问题很简单,

我有一个带有事件监听器的矩形,如下所示:

rect.addEventListener(MouseEvent.MOUSE_DOWN, startMove);

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

这很好。

我在这个矩形中也有一个按钮,当我点击按钮时,窗口就像我点击了矩形一样拖动。

如何阻止这种情况发生?我尝试删除事件,但这不起作用,我甚至不知道要删除哪个事件,mouseDown或NativeDrag事件... nativeWindow中没有stopDrag()函数。有一个简单的解决方案吗?

任何帮助都非常感谢!

1 个答案:

答案 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的新手 - 欢迎!如果您发现我的答案有用,请务必通过绿色选中标记进行投票并接受