Результаты поиска
CSS Выпадающем Меню - "Best"? Самый многофункциональный?
Я нахожусь в неудачном положении, когда мне приходится реализовывать выпадающее каскадное меню на сайте, который я создаю. Я ищу решение в стиле Suckerfish, которое в основном основано на CSS и работает на простом наборе вложенных ULs и LIs.
Son of Suckerfish кажется, что это путь, но мне не нравится, как он просто исчезает в ту же секунду, когда вы убираете мышь, так как пользователи с трудностями координации будут иметь кошмар навигации по сайту (или просто не беспокоить, но поскольку это корпоративный сайт, есть некоторые, кто, вероятно, придется использовать все, что я реализую).
Аккуратные функции, о которых я даже не думал, приветствуются, но два основных элемента, которые я ищу, - это:
- Многоуровневое использование вложенной структуры UL / LI
- Маленький (возможно, настраиваемый?) задержка перед исчезновением, когда меню "mouseout"-ed, даже если это предусмотрено некоторым дополнительным JavaScript.
Когда инициализируется NavigationService?
Я хочу поймать событие NavigationService.Navigating с моей страницы, чтобы предотвратить переход пользователя вперед. У меня есть обработчик событий, определенный таким образом:
void PreventForwardNavigation(object sender, NavigatingCancelEventArgs e)
{
if (e.NavigationMode == NavigationMode.Forward)
{
e.Cancel = true;
}
}
... и это прекрасно работает. Однако я не уверен, где именно разместить этот код:
NavigationService.Navigating += PreventForwardNavigation;
Если я помещу его в конструктор страницы или инициализированный обработчик событий, то NavigationService все равно будет null, и я получу NullReferenceException. Однако если я помещаю его в обработчик загруженных событий для страницы, то он вызывается каждый раз при переходе на страницу. Если я правильно понимаю, это означает, что я обрабатываю одно и то же событие несколько раз.
Могу ли я добавить один и тот же обработчик к событию несколько раз (как это произошло бы, если бы я использовал загруженное событие страницы для его подключения)? Если нет, то есть ли какое-то место между инициализацией и загрузкой, где я могу сделать эту проводку?