![]() |
Борьба с многократным нажатием кнопки
Столкнулся с тем, что достаточно большой процент пользователей в принципе не способен нажимать на кнопку мыши точечно (1 раз). Как минимум идет два нажатия, а иногда и целая серия.
Это вызывает генерацию потока событий MouseEvent.CLICK и, как следствие, необходимость обрабатывать этот поток. Сейчас я, как правило, отписываю кнопку от слушателя после первого нажатия, но потом нужно обратно все не забывать возвращать. Получается избыточный код, единственное назначение которого - ограничить активность некоторой части пользователей. Вот думаю, нельзя ли придумать такую кнопку, которая, скажем, любую серию кликов по ней, при условии, что интервал между кликами меньше 200мс (или 400мс), воспринимает как один клик? Событием DOUBLE_CLICK можно пожертвовать. В общем, хотелось бы узнать, нет ли у кого какого-нибудь системного решения. |
Timer в помощь.
Цитата:
|
как выяснилось, да )))
кроме шуток вопрос серьезный |
ну например
Код AS1/AS2:
|
Тут надо сначала подумать, почему они это делают?
Я бы выделил три варианта: 1) Потому что идет загрузка какого-то элемента, и пользователи просто не знают, что делать. Это может быть не только загрузка, но и, например, отсылка запроса, или еще что-нибудь времяемкое. В этом случае, лучше всего все-таки удалять слушатель. (кстати, кода "избыточного" ИМХО будет меньше) 2) Потому что действительно промахнулся или делает что-то не то. Ну, например, нажимает десять раз на одну и ту же кнопку "просто так". Тут, я думаю, все зависит от назначения приложения, его целевой аудитории. Я лично ставлю прозрачный слой, если мне надо, чтобы определенное действие не начиналось, пока не закончится предыдущее. Но у меня интерфейсное приложение. 3) Ну тут чисто дизайнерская штука - у кнопки, на которую можно нажать, должно быть свойство buttonMode = true, и желательно, чтобы обрабатывались события MOUSE_OVER и MOUSE_DOWN, чтобы пользователь видел, что он нажимает кнопку. |
Прежде всего они это делают просто потому что привыкли. ))
Я лично знаю людей, которые всегда нажимают дабл-кликом. derhab, видимо, да. |
Цитата:
Сам видел, как одна такая держит мышку проводом к себе Попробуйте сами взять мышку большим и средним пальцем, чтобы провод от мышки проходил под рукой у вас, а указательный палец лежал на кнопке для клика. Надо быть гением, чтобы до такого додумаццо. Вопрос, кстати, на самом деле серьезный. Я проверил только что проект, над которым работаю. Он ведет себя некорректно, когда кликать дважды (не даблкликом) по кнопкам. Теперь придется решать эту задачу тоже :( |
| Часовой пояс GMT +4, время: 13:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.