2

我使用 twitter bootstrap 作为我的网站框架。我也在使用 jQuery。

在我的主导航栏中,我有一个包含搜索框的引导下拉菜单。搜索框有一个完美运行的 jQuery 自动完成功能。

然而,我的问题是,当用户单击自动完成列表中的一项时,引导下拉菜单会关闭,从而阻止用户单击“搜索”按钮,直到他们重新打开下拉菜单(搜索查询仍然存在)。

显然这让我的用户很恼火......

从自动完成列表中进行选择时,是否有一种简单的方法可以防止下拉菜单关闭?这是由于两个框架之间的冲突吗?

自动完成

提前致谢。

戈登

更新:

用下面的代码解决了这个问题:

    <script type="text/javascript">
           $(document).ready(function () {
               $('body').find('.ui-autocomplete').click(function (e) {
                        e.stopPropagation();
               });
            });
    </script>

这会在单击时停止 ui-autocomplete 下拉元素上的传播,并使引导下拉菜单保持打开状态以允许用户单击搜索按钮。

感谢isherwood的指针

4

1 回答 1

1

这不是冲突,而是 Bootstrap 菜单的正常行为。我为此目的使用这些功能:

$(function() {
    //prevent menu from closing when clicking into a form element
    $('.drop').find('form').click(function (e) {
        e.stopPropagation();
    });

    // other elements with the 'stay-open' class
    $('.drop').find('.stay-open').click(function (e) {
        e.stopPropagation();
    });
});
于 2013-01-29T14:49:56.543 回答