Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 单击时隐藏一个div,但单击内部的图像时不执行任何操作_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击时隐藏一个div,但单击内部的图像时不执行任何操作

Javascript 单击时隐藏一个div,但单击内部的图像时不执行任何操作,javascript,jquery,html,Javascript,Jquery,Html,我有一个div主包装和一个图像 我想在单击主包装时隐藏它。但当你们点击主包装里面的图片时,我什么都不想做。现在我有这个不工作的代码。当我点击图像时,主包裹仍然隐藏。(隐藏是我的类。隐藏{display:none}) 最好添加图像的id。然后用#yourid替换.img 我最终得到了这个密码 $('.main-wrap').on('click', function(e) { $('.main-wrap').addClass('hidden');

我有一个div
主包装和一个图像

我想在单击主包装时隐藏它。但当你们点击主包装里面的图片时,我什么都不想做。现在我有这个不工作的代码。当我点击图像时,主包裹仍然隐藏。(隐藏是我的类
。隐藏{display:none}


最好添加图像的id。然后用#yourid替换.img


我最终得到了这个密码

$('.main-wrap').on('click', function(e) {
                    $('.main-wrap').addClass('hidden');
                }).on('click', 'img', function(e) {
                    // clicked on descendant div
                    e.stopPropagation();
});
这是从这里拍摄的 (尽管被接受的答案不起作用)


我添加了一个click事件,它通过一个异常的click-on-image扩展,设置为
returnfalse

嘿,好像是。代码中缺少主换行符。我猜它在上面。照片包装?你在这里添加了照片包装,这是你使用的原始html吗!!是的,对不起,伙计们。它位于@Gothdo
$('.main wrap')的照片包装上方。在('click',函数(e){if(e.target!==this){return;}$('.main wrap')。addClass('hidden');})我尝试过这个,但它也不起作用。
 $(document).ready(function() {
   $('.main-wrap').click(function(){$('.main-wrap').addClass('hidden')});
 });
  $(document).ready(function() {
          $('.main-wrap').not('.img').click(function(){$('.main-wrap').addClass('hidden')});
        });
$('.main-wrap').on('click', function(e) {
                    $('.main-wrap').addClass('hidden');
                }).on('click', 'img', function(e) {
                    // clicked on descendant div
                    e.stopPropagation();
});
$('.main-wrap').click(function(e) {
   $(this).addClass('hidden');
}).on('click', 'img', function(e) {
  return false;
});