Закрытие выпадающего меню нажатием кнопки снаружи в приложении AS2? - PullRequest
0 голосов
/ 23 апреля 2009

Я поддерживаю приложение ActionScript 2, которое использует createEmptyMovieClip для создания раскрывающихся списков (элементы списка, прикрепленные как мувиклипы). Я могу закрыть раскрывающийся список напрямую через removeMovieClip и тому подобное, очевидно.

Моя проблема заключается в следующем: раскрывающийся список должен быть закрыт не только при нажатии элемента или повторном срабатывании кнопки его создания, но также каждый раз, когда пользователь щелкает в любом месте за пределами раскрывающегося списка (например, onReleaseOutside, за исключением того, что щелчок также начинается снаружи) .

Пока что единственное решение, которое я вижу, - это превращение _root (или невидимого слоя) в кнопку, доказав для него onRelease, но это хакерство в том, что она заставляет _root обрабатываться как кнопка Flash (указатель мыши и курсор мыши). все это). Не хочу!

1 Ответ

1 голос
/ 23 апреля 2009

Я только что порекомендовал вам сделать то, что вы не хотите делать, потому что - это хакерский. Настройка прослушивателя мыши может быть опцией ... (Я очень быстро нарисовал [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!")
}

Я пока не могу придумать лучшего способа ...

Приведенный выше код мало что исправляет, но он показывает, что вы можете прослушивать щелчок, а также делать что-то относительно того, что вы нажали, и для них это два отдельных действия.

...