Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 25.02.2011, 14:03
alexg вне форума Посмотреть профиль Отправить личное сообщение для alexg Найти все сообщения от alexg
  № 1  
Ответить с цитированием
alexg

Регистрация: Dec 2010
Сообщений: 12
По умолчанию Предупредить повторное нажатие кнопки

Здравствуйте!

Итак, имеется небольшое Flex приложение, выполненное как Standalone AIR программа. Приложение представляет собой подобие мастера с набором нескольких страниц и кнопками перехода "Далее", "Назад". Логика работы проста - при нажатии кнопки "Далее" активируется следующее состояние (State) приложения, а при нажатии "Назад", соответственно, предыдущее.

Обработчик нажатия кнопки "Далее" следующий

Код AS3:
protected function onNextButtonClick(event:MouseEvent):void
{				
    var index:int = getCurrensState();
    setState(++index);
}
Отмечу также, что некоторые страницы визарда не могут быть "пролистаны" без заполнения полей и, соответственно, на таких страницах кнопка "Далее" блокируется до наступления события готовности к дальнейшему переходу.

Проблема заключается в том, что при достаточной сноровке можно нажать на "Далее" два раза подряд и мастер "перескочит" обязательную страницу, до того, как она успела "прогрузиться" и запретить дальнейший переход. Пытался бороться с проблемой подобным образом:

Код AS3:
protected function onNextButtonClick(event:MouseEvent):void
{	
    if (event.target.enabled)
    {
        event.target.enabled = false;
 
        var index:int = getCurrensState();
        setState(++index);
    }
}
И всё равно события приходят дважды (если постараться) и обязательная страница "пролетает". Решение использовать глобальную переменную хотя и помогло, но ИМХО не особенно красиво. Нет ли другого выхода? Например, как то удалять из очереди события повторного нажатия?

P.S.
Flash Builder 4, Flex SDK 4.1.0, AIR SDK 2.5

Спасибо.


Последний раз редактировалось alexg; 25.02.2011 в 14:08.
Создать новую тему   Часовой пояс GMT +4, время: 11:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
air , events , flex

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:42.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.