jquery – Bootstrap 3下拉:在悬停和点击时

前端之家收集整理的这篇文章主要介绍了jquery – Bootstrap 3下拉:在悬停和点击时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的导航栏上几乎所有链接都是下拉列表.我希望它们出现悬停在大屏幕上,但点击更小的屏幕.那可能吗?在我寻找答案时,我遇到了这个问题: Bootstrap Menu: Dropdown on Hover for Desktop Only.这对我不起作用,因为我不希望整个下拉列表在移动设备上不可见;我只希望它在点击而不是悬停时可见.

解决方法

EDITED
来自@ ouwen-huang的答案很好,但是由于jQuery是bootstrap.js的依赖项,你可以通过将所有要附加的事件添加到空格分隔的引号中来实现jQuery方式:
$('.dropdown').on('mouseenter mouseleave click tap',function() {
  $(this).toggleClass("open");
});

选择器基于标准的Bootstrap标记,直接从文档中获取,如下所示:

<li class="dropdown">
    <a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
    <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
        <li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
        <li role="presentation" class="divider"></li>
        <li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
    </ul>
</li>

这里的要点是,如果您使用的是支持鼠标的设备(如没有触摸功能的桌面),则会触发mouseenter / mouseleave事件,并且无需单击即可激活菜单.如果用户不在触发mouseenter / mouseleave事件的设备上,则当用户点击链接并且点击或点击处理程序处理下拉切换时,会触发点击或点击事件.

编辑准确.

猜你在找的jQuery相关文章