单击任意位置即可关闭菜单
正如你们所看到的,我有一个下拉菜单。
我有很多列,每个列都有一个打开菜单的选项。
$(".optionCont").live("click", function(){
$(".dropMenuCont").slideUp();
if ($(this).next().css("display") == "none") {
$(this).next().slideDown();
} else {
$(this).next().slideUp();
}
});
那么,如何在页面任意位置点击时实现菜单上滑呢?
就像文档点击一样?
我访问了其他主题,但不知道为什么,这不起作用。也许我正在以不同的方式做这件事。
我接受菜单编码中的任何提示。
演示:Jsfiddle
As you guys can see, I have a drop down menu.
I have a lot of columns, each one has an option to open the menu.
$(".optionCont").live("click", function(){
$(".dropMenuCont").slideUp();
if ($(this).next().css("display") == "none") {
$(this).next().slideDown();
} else {
$(this).next().slideUp();
}
});
So, how can I do the menu slideUp when I click in any place of the page?
Like a document click?
I visited others topics, but I don't know why, this is not working. Maybe I'm doing it in a diferent way.
I accept any tips in the menu coding.
Demo: Jsfiddle
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在回调内部注册一个一次性处理程序,以确保下一次单击关闭菜单:
请参阅http://jsfiddle.net/alnitak/GcxMs/
Register a one-off handler inside the callback to make sure the next click closes the menu:
See http://jsfiddle.net/alnitak/GcxMs/
这是 JSFiddle
Here is the JSFiddle
尝试类似的方法:
替代方案:工作示例。
来源:
Try something like:
Alternative: working example.
Source:
只需将点击绑定到
Just bind the click to
<body>
我认为检查某些内容是否隐藏的更好主意是在动画回调中切换菜单上的类,然后使用
hasClass
检查它。I think a better idea to check if something is hidden is to toggle the class on your menu in a callback of the animation and then check it with
hasClass
.