Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Javascript 使用jQuery隐藏父div_Javascript_Jquery_Html_Hide - Fatal编程技术网

Javascript 使用jQuery隐藏父div

Javascript 使用jQuery隐藏父div,javascript,jquery,html,hide,Javascript,Jquery,Html,Hide,我对jQuery有一个问题。我有这个: 我希望当你点击页面的黑色部分,黑色部分和图像消失。这是我的密码: HTML 问题是,如果我添加此代码: $('#fade-wrapper').click(function(){ $('this').hide(); }); 当我单击图像(第1行-大)时,它会隐藏所有内容,我不希望仅当我单击黑色部分时内容会隐藏。如果您不明白,请告诉我。尝试在此处使用,以防止在单击子图像时在父div上触发单击事件: $('#fade-wrapper').click(f

我对jQuery有一个问题。我有这个:

我希望当你点击页面的黑色部分,黑色部分和图像消失。这是我的密码:

HTML

问题是,如果我添加此代码:

$('#fade-wrapper').click(function(){
   $('this').hide();
});
当我单击图像(第1行-大)时,它会隐藏所有内容,我不希望仅当我单击黑色部分时内容会隐藏。如果您不明白,请告诉我。

尝试在此处使用,以防止在单击子图像时在父div上触发单击事件:

$('#fade-wrapper').click(function(){
   $(this).hide();
});

$('#fade-wrapper img').click(function(e){
   e.stopPropagation();
});

还请注意,您不需要将
括在引号内,因为
是一个对象而不是字符串。

要获取父对象,您可以这样做-

$('#fade-wrapper').click(function(){
    $(this).parent().hide(); 
});

如果您希望单击Div包装外的黑色区域,然后关闭整个内容,如下所示:

//Click on html 
$('html').click(function(){
  //hide
  $('#fade-wrapper').hide();
});

// prevent the fadeIn area to hide when clicked
$('#fade-wrapper').click(function(e){
   e.stopPropagation();
})

如果您检查实际单击的div,它应该可以工作,如下所示:

$('#fade-wrapper').click(function(e){
    if (e.target.id === 'fade-wrapper')
        $(this).hide();
});

$('this')是否需要是$(this)?不确定这是否会导致您的问题,虽然是的,抱歉,键入错误但不是问题当您说您希望隐藏内容时,“内容”具体是什么?图像和黑色背景键入错误,是的,它应该工作,但它不工作,我试过了是的您是否使用了我建议的
e.stopPropagation()
,但是,当我点击黑色背景时,什么都没有发生,当我点击图片时也没有,什么是黑色背景HTML。你能发布所有相关的HTML标记吗?我添加了
$('fade wrapper').hide()行,然后编辑答案,但它也不起作用:/$('html')而不是$(html)单击时发生了什么?如果您使用淡入淡出包装器作为背景,则只需将$('html')更改为$('淡入淡出包装器'),将$('淡入淡出包装器')更改为$('淡入淡出包装器div')
//Click on html 
$('html').click(function(){
  //hide
  $('#fade-wrapper').hide();
});

// prevent the fadeIn area to hide when clicked
$('#fade-wrapper').click(function(e){
   e.stopPropagation();
})
$('#fade-wrapper').click(function(e){
    if (e.target.id === 'fade-wrapper')
        $(this).hide();
});