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 回答