Итак, что мне нужно, это довольно просто.
Я настроил навигационную панель с выпадающими меню (использую class="dropdown-toggle" data-toggle="dropdown"
), и она отлично работает.
Дело в том, что это работает " onClick
", хотя я бы предпочел, чтобы это работало " onHover
".
Есть ли встроенный способ сделать это?
javascript
jquery
html
css
twitter-bootstrap
Dr.Kameleon
источник
источник
Ответы:
Самое простое решение было бы в CSS. Добавить что-то вроде ...
Рабочая скрипка
источник
data-toggle
атрибут, чтобы сделать родительский элемент доступным для щелчка ... Просто следите за побочным ущербом на экранах мобильных устройств.Лучший способ сделать это - просто вызвать событие щелчка начальной загрузки при наведении курсора. Таким образом, он должен оставаться сенсорным
источник
Вы можете использовать функцию наведения jQuery.
Вам просто нужно добавить класс,
open
когда мышь входит, и удалить класс, когда мышь покидает выпадающий список.Вот мой код:
источник
show
вместо негоopen
, а также включитьdropdown-menu
:$('.dropdown').hover(function() { $(this).addClass('show'); $(this).find('.dropdown-menu').addClass('show');}, function() {$(this).removeClass('show'); $(this).find('.dropdown-menu').removeClass('show');});
(Извините за форматирование.)Самый простой способ, используя jQuery, это:
источник
.first()
-$(this).find('.dropdown-menu').first().stop(true, true).delay(200).fadeIn(200);
...Для CSS это сходит с ума, когда вы также нажимаете на него. Это код, который я использую, он также ничего не меняет для мобильного просмотра.
источник
В Twitter Bootstrap не реализован, но вы можете использовать этот плагин
Обновление 1:
Тот же вопрос здесь
источник
Наведите указатель мыши на элементы навигации, чтобы увидеть, что они активируются при наведении курсора. http://cameronspear.com/demos/twitter-bootstrap-hover-dropdown/#
источник
Итак, у вас есть этот код:
Обычно он работает при событии щелчка, и вы хотите, чтобы он работал при событии при наведении. Это очень просто, просто используйте этот код javascript / jquery:
Это работает очень хорошо, и вот объяснение: у нас есть кнопка и меню. При наведении курсора на кнопку мы отображаем меню, а когда мы находим мышку на кнопке, мы скрываем меню через 100 мс. Если вы удивляетесь, почему я это использую, вам нужно время, чтобы перетащить курсор с кнопки над меню. Когда вы находитесь в меню, время сбрасывается, и вы можете оставаться там столько раз, сколько хотите. Когда вы выходите из меню, мы скрываем меню мгновенно без какого-либо перерыва.
Я использовал этот код во многих проектах, если у вас возникнут какие-либо проблемы с его использованием, не стесняйтесь задавать мне вопросы.
источник
Это то, что я использую, чтобы сделать его раскрывающимся при наведении курсора с некоторым JQuery
источник
Попробуйте это, используя функцию наведения с анимацией постепенного исчезновения
источник
Это поможет вам создать свой собственный класс hover для начальной загрузки:
CSS:
Поля установлены, чтобы избежать нежелательного закрытия, и являются необязательными.
HTML:
Не забудьте удалить атрибут кнопки data-toggle = "dropdown", если вы хотите удалить onclick open, и это также будет работать, когда ввод добавляется с выпадающим списком.
источник
Это наводит курсор на панель навигации, когда вы не на мобильном устройстве, потому что я считаю, что наведение навигации не работает на мобильных устройствах:
источник
Я пробую другие решения, я использую bootstrap 3, но выпадающее меню закрывается слишком быстро, чтобы переместиться через него
Предполагается, что вы добавили class = "dropdown" в li, я добавил тайм-аут
источник
Обновлено с правильным плагином
Я опубликовал подходящий плагин для функции всплывающего окна, в котором вы даже можете определить, что происходит при нажатии на
dropdown-toggle
элемент:https://github.com/istvan-ujjmeszaros/bootstrap-dropdown-hover
Зачем я это сделал, когда уже есть много решений?
У меня были проблемы со всеми ранее существующими решениями. Простые CSS не используют
.open
класс для.dropdown
, поэтому не будет обратной связи по элементу переключателя выпадающего меню, когда раскрывающийся список виден.JS те, которые мешают нажать на
.dropdown-toggle
, поэтому раскрывающийся список отображается при наведении курсора, а затем скрывается при щелчке по открытому раскрывающемуся списку, а перемещение мыши приводит к тому, что раскрывающийся список появляется снова. Некоторые из решений js тормозят совместимость с iOS, некоторые плагины не работают на современных настольных браузерах, которые поддерживают сенсорные события.Вот почему я создал плагин Bootstrap Dropdown Hover, который предотвращает все эти проблемы, используя только стандартный API-интерфейс Bootstrap javascript, без какого-либо взлома.
источник
источник
Инициирование
click
события с помощьюhover
имеет небольшую ошибку. Еслиmouse-in
и тогдаclick
создает обратный эффект. Этоopens
когдаmouse-out
иclose
когдаmouse-in
. Лучшее решение:источник
HTML
JQuery
codepen
источник
Предлагаемое мной решение обнаруживает, не является ли его сенсорное устройство и что
navbar-toggle
(меню гамбургера) не отображается, и заставляет родительский элемент меню отображать подменю при наведении курсора и переходить по его ссылке при нажатии .Также делает tne margin-top 0, потому что промежуток между панелью навигации и меню в некоторых браузерах не позволит вам навести курсор на подпункты
источник
Раскрывающийся список начальной загрузки Работайте при наведении курсора и оставайтесь близко при щелчке, добавляя свойство display: block; в CSS и удаление этих атрибутов data-toggle = "dropdown" role = "button" из тега кнопки
источник