Bootstrap 下拉菜单:如何在悬停时触发,但只有当一个已经打开时
Bootstrap Dropdowns: How to trigger on hover, but only when one is already open
我想在 Windows 中模拟经典主菜单的行为。流程是这样的:
- 单击菜单项,例如 'File' - 菜单打开
- 将指针移至另一个菜单项,例如 'Edit' - 菜单打开,'File' 菜单关闭。
我有一个普通的 navbar
,只有下拉菜单。
如何在 Bootstrap 3 中模拟此行为?我知道我需要覆盖 click
和 hover
事件,但不确定具体如何处理。
编辑: 我见过 this,但它似乎不起作用,而且似乎只是悬停。 (至少,该演示不起作用,这不是很令人鼓舞。)
编辑: 到目前为止我的糟糕尝试:
$(function() {
$("li.dropdown").hover(
function() {
if ($('.open').length !== 0) {
$('.open').removeClass('.open');
$(this).addClass('open');
}
}
);
});
它会先检查是否已经打开,但是当我关闭所有菜单(在这个阶段,它们都保持打开状态 - 现在修复)并再次执行时,它不会遵循相同的过程.我确定我遗漏了一些非常明显的东西。
知道了。今天我的逻辑有问题。也不习惯 Bootstrap 以及事情的运作方式。
这就像一个魅力 - 只是检查它是否完全证明:
$(function() {
$("li.dropdown").hover(
function() {
if ($('.open').length !== 0) {
$('.open').removeClass('open').find('>ul').css('display', 'none');
$(this).addClass('open').find('>ul').css('display', 'inline-block');
}
}
);
});
我想在 Windows 中模拟经典主菜单的行为。流程是这样的:
- 单击菜单项,例如 'File' - 菜单打开
- 将指针移至另一个菜单项,例如 'Edit' - 菜单打开,'File' 菜单关闭。
我有一个普通的 navbar
,只有下拉菜单。
如何在 Bootstrap 3 中模拟此行为?我知道我需要覆盖 click
和 hover
事件,但不确定具体如何处理。
编辑: 我见过 this,但它似乎不起作用,而且似乎只是悬停。 (至少,该演示不起作用,这不是很令人鼓舞。)
编辑: 到目前为止我的糟糕尝试:
$(function() {
$("li.dropdown").hover(
function() {
if ($('.open').length !== 0) {
$('.open').removeClass('.open');
$(this).addClass('open');
}
}
);
});
它会先检查是否已经打开,但是当我关闭所有菜单(在这个阶段,它们都保持打开状态 - 现在修复)并再次执行时,它不会遵循相同的过程.我确定我遗漏了一些非常明显的东西。
知道了。今天我的逻辑有问题。也不习惯 Bootstrap 以及事情的运作方式。
这就像一个魅力 - 只是检查它是否完全证明:
$(function() {
$("li.dropdown").hover(
function() {
if ($('.open').length !== 0) {
$('.open').removeClass('open').find('>ul').css('display', 'none');
$(this).addClass('open').find('>ul').css('display', 'inline-block');
}
}
);
});