Apache flex 如何在flex中单击屏幕上的任意位置删除登录面板

Apache flex 如何在flex中单击屏幕上的任意位置删除登录面板,apache-flex,actionscript,Apache Flex,Actionscript,每当我点击某个特定按钮时,我都会使用下面的代码弹出一个登录面板。 问题是登录面板卡住了,如果我在屏幕上单击其他地方,它应该再次不可见。有人知道怎么做吗 <s:Animate id="anim" targets="{[loginPanel]}" duration="1000"> <s:SimpleMotionPath property="alpha" valueFrom="0.0" valueTo="1.0" /> <s

每当我点击某个特定按钮时,我都会使用下面的代码弹出一个登录面板。 问题是登录面板卡住了,如果我在屏幕上单击其他地方,它应该再次不可见。有人知道怎么做吗

<s:Animate id="anim" targets="{[loginPanel]}" duration="1000">
            <s:SimpleMotionPath property="alpha" valueFrom="0.0" valueTo="1.0" />
            <s:SimpleMotionPath property="moveByY" valueBy="2"/>

        </s:Animate>

<mx:Button includeIn="Login" x="811" y="10" height="53" width="142" id="btnLoginStatus" icon="@Embed(source='assets/LogIn.jpg')" click="{ if(loginPanel.visible==true) {loginPanel.visible=false; loginPanelClicked = false;} else loginPanel.visible=true; mainViewStack.selectedIndex =0; anim.play(); loginPanelClicked = true;}" />

尝试在脚本块中编写一个方法,并将该函数链接到click属性,而不是将其内联。无法从您提供的代码看出该方法实际应该做什么。无论登录面板是否可见,它看起来都将播放动画,并且它将导致登录面板始终显示(alpha=1.0提示,提示)


如果您在方法中写入而不是内联,我想您会发现else语句中的错误。

现在一切正常,请在登录面板的bordercontainer中添加
click=“loginPanelClicked=true”