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

时间:2009-04-23 10:49:59

标签: flash actionscript actionscript-2

我正在维护一个ActionScript 2应用程序,该应用程序使用createEmptyMovieClip创建下拉列表(列表项附加为动画片段)。我可以通过removeMovieClip直接关闭下拉列表,显然。

我的问题是这样的:下拉菜单不仅应该在单击某个项目时关闭,也不应该在再次触发创建它的按钮时关闭,而且只要用户点击下拉列表外的任何地方(例如onReleaseOutside,除了点击也是STARTS外)

到目前为止,我能看到的唯一解决方案是通过为它提供onRelease来将_root(或一个不可见的图层)转换为一个按钮,但这是因为它使_root像Flash一样对待(指针鼠标光标和所有这一切)。不想要!

1 个答案:

答案 0 :(得分:1)

我只是建议你做你不想做的事情,因为它 hackish。 设置一个鼠标监听器可能是一个选项......(我很快就画了[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!")
}

我想不出更好的方法......

上面的代码并没有多大帮助,但它表明你可以听取点击以及做一些与你点击的内容有关的事情,并且它们是两个独立的行动。