如何阻止我的div在body click jQuery上立即打开和关闭?
我有一个简单的jQuery代码片段来显示和隐藏我的div,它们工作得很好,但我想添加一个,这样当有人单击页面主体以关闭打开的div时,我就这样做了:如何阻止我的div在body click jQuery上立即打开和关闭?,jquery,css,Jquery,Css,我有一个简单的jQuery代码片段来显示和隐藏我的div,它们工作得很好,但我想添加一个,这样当有人单击页面主体以关闭打开的div时,我就这样做了: $("body").click(function() { if($('#blur-container').is(':visible')) { $("#blur-container").animate({width: "0px"}) $("#mob-menu-wrapper").animate({width:
$("body").click(function() {
if($('#blur-container').is(':visible')) {
$("#blur-container").animate({width: "0px"})
$("#mob-menu-wrapper").animate({width: "0px"})
}
});
但现在,当我单击打开div的按钮时,它也立即关闭。任何帮助都将不胜感激,我已经搜索了其他答案,但我无法找到任何一个适合我的答案。请确保您执行
event.stopPropagation()单击函数中的code>,以阻止事件冒泡
如问题评论中所述,有关更多信息,请参阅
我有返回false
在此之前,但这也将阻止a
元素重定向或该元素上的其他事件执行。您的事件正在传播。单击div时,首先调用div click事件,然后调用body click。按@Brant Olsen的建议,在您的div中返回false单击以停止传播。添加just:event.stopPropagation()真有趣;修复了所有问题:)谢谢@j08691,我想这会比这个更复杂D@Blu3如果他们拥有解决此问题所需的所有信息,请接受其中一个答案,以便将来的访问者可以轻松找到答案。@BrantOlsen I将返回值添加为false;在我所有的点击功能的底部,但是在那之后,我的页面上没有一个链接会奇怪地打开?返回false如果单击处理程序位于a
元素上,则code>将阻止a
元素转到其href
值。是的,这就是我所做的,它解决了问题,但我将事件放入了。stopPropagation();就在函数启动之后,如链接示例中所示,它一直在完美地工作,谢谢。