Javascript 使用jQuery隐藏父div
我对jQuery有一个问题。我有这个: 我希望当你点击页面的黑色部分,黑色部分和图像消失。这是我的密码: HTML 问题是,如果我添加此代码: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
$('#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();
});