我正在维护一个ActionScript 2应用程序,该应用程序使用createEmptyMovieClip创建下拉列表(列表项附加为动画片段)。我可以通过removeMovieClip直接关闭下拉列表,显然。
我的问题是这样的:下拉菜单不仅应该在单击某个项目时关闭,也不应该在再次触发创建它的按钮时关闭,而且只要用户点击下拉列表外的任何地方(例如onReleaseOutside,除了点击也是STARTS外)
到目前为止,我能看到的唯一解决方案是通过为它提供onRelease来将_root(或一个不可见的图层)转换为一个按钮,但这是因为它使_root像Flash一样对待(指针鼠标光标和所有这一切)。不想要!
答案 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!")
}
我想不出更好的方法......
上面的代码并没有多大帮助,但它表明你可以听取点击以及做一些与你点击的内容有关的事情,并且它们是两个独立的行动。