javascript - 使用 jQuery 单击页面中的某处时关闭下拉菜单?

标签 javascript jquery html css

<分区>

我有一个简单的下拉菜单,我在内联文本链接上显示它。我使用 jQuery 单击事件在单击链接时显示下拉菜单。

我想做的是在任意位置单击时让下拉菜单返回隐藏状态。现在您必须再次单击该链接才能关闭菜单。

演示 http://codepen.io/jasondavis/pen/sFpwK?editors=101

jQuery

// Show Dropdown Menu when link is clicked
$(function(){
  $(".inline-dropdown-menu").click(function(e){
    $(this).find(".inline-dropdown-menu-list:first").toggle();
    e.preventDefault(); // Stop navigation
  });
});

HTML

<span class="inline-dropdown-menu">
    <a href="">My Link that reveals a DropDown Menu when clicked on<span class="caret"></span></a>

    <ul class="inline-dropdown-menu-list">
        <li class="bottomBorder">
            <a href="" tabindex="-1">alphabetically</a>
        </li>
        <li>
            <a href="" tabindex="-1">2. the first report, alphabetically</a>
        </li>
        <li>
            <a href="" tabindex="-1">3. the first report, alphabetically</a>
        </li>
    </ul>
</span>

最佳答案

http://codepen.io/anon/pen/JmLsB

$(function () {
    $(".inline-dropdown-menu").click(function (e) {
        $(".inline-dropdown-menu-list").hide(); // to hide other drop down
        $(this).find(".inline-dropdown-menu-list:first").toggle();

        e.preventDefault(); // Stop navigation
    });
});

// to hide drop down if you click other than inline-dropdown-menu class

$(document).click(function (e) {
    var container = $(".inline-dropdown-menu");
    if (!container.is(e.target) && container.has(e.target).length === 0) {
        $(".inline-dropdown-menu-list").hide();
    }
});

关于javascript - 使用 jQuery 单击页面中的某处时关闭下拉菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459226/

相关文章:

javascript - Ember 对来自 ember-data 模型关联的另一个 Controller 的数据进行排序

javascript - 在 jQuery 中动态检测窗口宽度

javascript - 回调、导出和 JavaScript

jquery-mobile 面板将值传递给 Ajax

javascript - 如何不为每个对象应用 .one()

javascript - JS变量范围: pushing into an array in one function and accessing it another function

javascript - 如何使用 javascript 正确迭代嵌套数组。

javascript - 从 HTML 获取值并将其存储到变量

javascript - 如何在 mailto 正文中附加 Javascript 代码

javascript - 随机化 Bootstrap 轮播幻灯片(第一张幻灯片除外)