Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阻止我的div在body click jQuery上立即打开和关闭?_Jquery_Css - Fatal编程技术网

如何阻止我的div在body click jQuery上立即打开和关闭?

如何阻止我的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:

我有一个简单的jQuery代码片段来显示和隐藏我的div,它们工作得很好,但我想添加一个,这样当有人单击页面主体以关闭打开的div时,我就这样做了:

$("body").click(function() {
    if($('#blur-container').is(':visible')) {
        $("#blur-container").animate({width: "0px"})
        $("#mob-menu-wrapper").animate({width: "0px"})
    }
});

但现在,当我单击打开div的按钮时,它也立即关闭。任何帮助都将不胜感激,我已经搜索了其他答案,但我无法找到任何一个适合我的答案。

请确保您执行
event.stopPropagation(),以阻止事件冒泡

如问题评论中所述,有关更多信息,请参阅


我有
返回false
在此之前,但这也将阻止
a
元素重定向或该元素上的其他事件执行。

您的事件正在传播。单击div时,首先调用div click事件,然后调用body click。按@Brant Olsen的建议,在您的div中返回false单击以停止传播。

添加just:event.stopPropagation()真有趣;修复了所有问题:)谢谢@j08691,我想这会比这个更复杂D@Blu3如果他们拥有解决此问题所需的所有信息,请接受其中一个答案,以便将来的访问者可以轻松找到答案。@BrantOlsen I将返回值添加为false;在我所有的点击功能的底部,但是在那之后,我的页面上没有一个链接会奇怪地打开?
返回falsea
元素上,则code>将阻止
a
元素转到其
href
值。是的,这就是我所做的,它解决了问题,但我将事件放入了。stopPropagation();就在函数启动之后,如链接示例中所示,它一直在完美地工作,谢谢。