我有以下脚本,它几乎可以完美运行:
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/