Bootstrap 下拉菜单:如何在悬停时触发,但只有当一个已经打开时

Bootstrap Dropdowns: How to trigger on hover, but only when one is already open

我想在 Windows 中模拟经典主菜单的行为。流程是这样的:

  1. 单击菜单项,例如 'File' - 菜单打开
  2. 将指针移至另一个菜单项,例如 'Edit' - 菜单打开,'File' 菜单关闭。

我有一个普通的 navbar,只有下拉菜单。

如何在 Bootstrap 3 中模拟此行为?我知道我需要覆盖 clickhover 事件,但不确定具体如何处理。

编辑: 我见过 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');
            }
        }
    );
});