jquery - 单击任意位置即可关闭

标签 jquery jquery-ui

我有以下脚本,它几乎可以完美运行:

http://jsfiddle.net/oshirowanen/uUAqe/

我只需要它具有 1 个附加功能,无论用户单击页面上的哪个位置,无论是在页面的空白部分、按钮上、文本框中等,任何下拉菜单都会自动关闭。

最佳答案

请在此处查看更新的 jsFiddle 页面:http://jsfiddle.net/KYqyU/

为了解释所做的事情,首先,将单击事件绑定(bind)到将隐藏导航下拉列表的文档。

$(document).click(function() {
    $('.dropdown').hide();
    $('.navigation').removeClass("active");
});

然后,您将 .navigation 类上的单击事件修改为 return false,从而阻止文档事件传播并隐藏此实例中的导航。

$('.navigation').click(function() {
    $(this).siblings('.navigation.active').click();
    $(this).toggleClass('active').next().toggle();
    return false;
});

正如 Mark 还指出的,您可以使用 event.StopPropagation() 来停止传播。如果您使用此方法,您将需要将事件作为参数传递到点击回调函数中。

关于jquery - 单击任意位置即可关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104309/

相关文章:

javascript - 禁用 iPad Safari 浏览器中的 'Copy' 功能

jquery - 如何在我的项目中实现进度条?

jQuery datepicker 禁用用户选择

javascript - 自定义构建的 jQueryUI

jquery - 在 jquery 中 <span> 之前添加 <li> 和 </li> 之间

javascript - Skrollr - 是否可以使用 Sprite 并改变滚动位置?

javascript - 将段落动态保存为 PDF?

javascript - 如何通过 `echo json_encode($data);`获取所有数据

javascript - 获取 JQuery UI 自动完成元素的索引

javascript - 使用 Javascript (JQuery) 绘制交互式(dom 元素/对象)点