| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Как научить выпадающее меню исчезать в нужный |
| Автор: Royan 2.2.2009, 16:29 | ||
У меня классическая схема:
Пользователь подводит мышкой на menubar, появляется слой с тремя (в моем случае) menu item'ами. Вопрос в том когда эту субменюшку прятать? В какой момент, по какому событию какого объекта (onmouseout, onblur)? |
| Автор: ksnk 2.2.2009, 16:46 |
| Классический подход - убирать по mousedown на любой области, не лежащей на менюшке. Он требует неких знаний и строчек кода. Классический CSS подход - убирать по mouseout из этого меню... В принципе - работает, но только для больших меню, иначе приходится муторно объяснять юзеру какого #$№% менюшка прыгает и прячется.... |
| Автор: Royan 2.2.2009, 18:10 |
| ksnk, Вот я изначально думал про mousedown на любой области, но столкнулся с тем, что не понятно, что такое "любая область". И потом если пользователь случайно нажмет кнопку мыши на субменюшке получается она пропадет, хотя такого быть не должно Почему ты называешь "Классический CSS подход - убирать по mouseout" В CSS'е ведь нет событийной модели (исключая IE::expression()) Второй подход имеет следующий недостаток. Если пользователь навел мышкой на меню (появилась субменюшка) а потом не наводя на субменюшку увел мышку куда-нибудь. В итоге субменюшка висит пока на нее не наведут мышкой и соответственно уже после не произойдет onmouseout |
| Автор: ksnk 2.2.2009, 18:42 | ||
Royan, "Классический CSS подход" - довольно минималистические менюшки построенные на чистом CSS. Там есть событийная модель (.hover)
Ну, дык! должно существовать понятие "меню", как всей совокупности открытых сейчас подменюшек. |
| Автор: Royan 3.2.2009, 11:18 |
Сорри соображение тугое, память дырявая Корочи понятна, спасибо большое ksnk! |