Flash 通过在AS2应用程序中单击外部关闭下拉列表?

Flash 通过在AS2应用程序中单击外部关闭下拉列表?,flash,actionscript,actionscript-2,Flash,Actionscript,Actionscript 2,我正在维护一个ActionScript2应用程序,它使用createEmptyMovieClip创建下拉列表(列表项作为movieclips附加)。显然,我可以通过removeMovieClip等直接关闭下拉列表 我的问题是:下拉列表不仅应该在单击某个项目或再次触发创建该项目的按钮时关闭,还应该在用户单击下拉列表之外的任何位置时关闭(如onReleaseOutside,除了单击也从外部开始) 到目前为止,我能看到的唯一解决方案是通过证明一个onRelease将_root(或一个不可见层)变成一个

我正在维护一个ActionScript2应用程序,它使用createEmptyMovieClip创建下拉列表(列表项作为movieclips附加)。显然,我可以通过removeMovieClip等直接关闭下拉列表

我的问题是:下拉列表不仅应该在单击某个项目或再次触发创建该项目的按钮时关闭,还应该在用户单击下拉列表之外的任何位置时关闭(如onReleaseOutside,除了单击也从外部开始)


到目前为止,我能看到的唯一解决方案是通过证明一个onRelease将_root(或一个不可见层)变成一个按钮,但这是一种黑客行为,因为它使_root被视为一个Flash按钮(指针鼠标光标等)。不要

我只是想建议你做你不想做的事,因为这太草率了。 设置鼠标侦听器可能是一个选项…(我很快就画上了[mc])

我想不出比这更好的方法了

上面的代码并没有修复太多问题,但它表明,您可以监听单击,也可以执行与单击内容相关的操作,对于它们,可以执行两个单独的操作

MouseListener = new Object()
Mouse.addListener(MouseListener)
MouseListener.onMouseDown=function(){
    trace ("heard:'DOWN'")
    // do your call to close the button here, perhaps?
}

another.onPress=function(){
    trace ("pressed!")
}