javascript - 悬停时打开的 Bootstrap 下拉菜单

标签 javascript php jquery twitter-bootstrap drop-down-menu

我的网站使用 Bootstrap。该网站的菜单使用下拉菜单。通过另一个线程的更改,我使下拉菜单在鼠标悬停时自动打开。

$(".dropdown").hover(
    function(){ $(this).addClass('open') },
    function(){ $(this).removeClass('open') }
);

但是,我不仅在网站导航中使用下拉菜单,还在其他位置使用下拉菜单,作为用户名的下拉菜单。这里不需要在鼠标悬停时自动打开菜单。

用户菜单代码:

<span class='dropdown mousehand nobr'>
    <span data-toggle='dropdown'>$username <span class='caret'></span></span>
    <ul class='dropdown-menu' role='menu' aria-labelledby='dLabel'>
        <li><a href='http://steamcommunity.com/profiles/$steamid' target='_blank'>Steam profile</a></li>
        <li><a href='http://www.steamgifts.com/user/id/$steamid' target='_blank'>SteamGifts profile</a></li>
    </ul>
</span>

现在我的问题是,谁可以帮助我防止该元素发生悬停效果?

我尝试为属性“data-toggle”指定另一个名称,例如 dropdown2。然而,这完全破坏了菜单。即使用户点击它,它也不会再打开。 是否有一个类我可以添加到 JS 代码中,这样它只会在该类上执行悬停功能?

总结一下,我想要的是自动打开菜单的悬停效果,以继续在导航栏中的菜单上工作,而不是在其他任何地方。

最佳答案

您可以为您希望具有此行为的下拉列表设置一个 id,然后根据 id 进行选择。像这样的事情:

<ul id="dropdownId" class='dropdown-menu' role='menu' aria-labelledby='dLabel'>

$("#dropdownId").hover(
    function(){ $(this).addClass('open') },
    function(){ $(this).removeClass('open') }
);

关于javascript - 悬停时打开的 Bootstrap 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28238377/

相关文章:

javascript - 在新选项卡中运行 Angular 部分

javascript - 将 HTML 作为 JSON 传递的最佳实践

php - 奇怪的 ? mysql帖子中的符号

php - 使用 jqgrid PHP 相对于 jqgrid JS 的安全优势?

php - 正则表达式帮助,匹配 "0000-000 Text with spaces"

php - 如何在 codeigniter 的网站上进行信用卡支付

jquery - 将 jQuery 对象和内容转换为字符串?

javascript - getTotal 函数不起作用

javascript - 从外部门户网站将参数传递给 GWT nocache.js

javascript - 在 iPad 上延迟播放音频