0

在过去的一个小时里,我试图修复一个错误,但我就是不能。

错误是:

如果您按下左键并没有释放它,然后按下右键(出现上下文菜单)然后再次左键单击,则永远不会释放第一个“拖动”动作。

就像,我需要让我的右键单击说:“嘿,左键单击,你的工作完成了,你现在可以回家了”。

但我找不到办法。

4

1 回答 1

3

我的解决方案是听舞台的鼠标移动并检查MouseEvent.buttonDown。如果它是假的,停止拖动:

protected function stageMouseMoveHandler(event:MouseEvent):void
{
    if (!event.buttonDown)
    {
        myComponent.stopDrag();
    }
}

重要的是听舞台,而不是听你的组件,一旦上下文菜单隐藏,指针就会出现在组件之外,并且监听器不会执行。

于 2011-09-16T13:44:46.693 回答