悬停时打开的引导下拉菜单
Bootstrap dropdown menu to open on hover
我的网站使用Bootstrap。该网站的菜单正在使用下拉菜单。通过对另一个线程的更改,我使下拉菜单在鼠标悬停时自动打开。
$(".dropdown").hover(
function(){ $(this).addClass('open') },
function(){ $(this).removeClass('open') }
);
但是,我不仅在我的网站导航中使用了 drowdown 菜单,而且还在另一个位置使用,作为用户名的下拉菜单。在这里,在鼠标悬停时自动打开菜单是不需要的。
用户菜单的代码:
<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>
现在我的问题是,谁可以帮助我防止悬停效果发生在这个元素上?
我尝试给属性"数据切换"另一个名称,例如 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') }
);
有时解决方案可以如此简单(当然,这对我来说很难,因为我不明白jQuery是如何工作的);)
通过将元素添加到类查找li.dropdown
来更改代码,使其停止处理上述代码。(上面的代码需要span.dropdown
才能工作)。
$(function() {
$("li.dropdown").hover(
function(){ $(this).addClass('open') },
function(){ $(this).removeClass('open') }
);
});
现在,悬停在导航上完美运行,但在其他地方不执行任何操作。好!
相关文章:
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- Javascript-悬停时的Bootstrap下拉菜单打开子菜单的所有菜单级别
- 悬停时展开垂直下拉菜单,而不是单击
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- 移动设备上的CSS下拉菜单.如何四处走动:悬停
- Javascript在悬停状态下制作下拉菜单 - 没有HTML中的硬编码
- 悬停时打开的引导下拉菜单
- 使下拉菜单在悬停时显示,并显示超时
- jQuery - 单击包含
- 下拉菜单的嵌套文本字段悬停
- 分机 4 鼠标悬停、鼠标退出和下拉菜单的问题
- 为什么我将鼠标悬停在项目上时无法更改下拉菜单颜色
- 悬停 2 秒钟时显示下拉菜单
- 在悬停下拉菜单上 JavaScript
- 将鼠标悬停在下拉菜单上时,JQuery 悬停下拉菜单消失
- 尝试在鼠标悬停时为Wordpress中的下拉菜单选择添加突出显示
- 如何将悬停图像与 Twitter 引导下拉菜单一起使用
- li:在移动设备上悬停下拉菜单
- 悬停下拉菜单:点击父链接转到父页面
- 垂直下拉菜单悬停效果,当悬停时关闭子菜单
- 激活引导下拉菜单悬停