单击 body html 时隐藏元素

沃伊泰克

我有这个代码,一切正常,我想让所有元素 # content1, # content2 .. 在点击 body 时隐藏。我尝试设置 z-index 小于 div 的 body 但它没有帮助

    $(function() {
          $('#div1').click(function() {
            $('#content1, #content2, #content3').hide();
            $('#content1').show();
            /* other code ..*/
          });

          $('#div2').click(function() {
            $('#content1, #content2, #content3').hide();
            $('#content2').show();
            /* other code ..*/
          });
    });
 html,body{width:100%;height:100%;}

    #div1, #div2, #div3{
           overflow:hidden;
           float:left;
           width:40px;
           height:40px;
           background:red;
           margin:0 10px 0 0;
         }
         #content1, #content2, #content3{
         overflow:hidden;
         position:absolute;
         top:50px;
         background-color:#000;
         color:#fff;
         padding:2px 4px;
    }
<!doctype html>
<html>
<body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <div id="div1">
          <div id="content1" style="display: none;">
            text1
          </div>
        </div>
        <div id="div2">
          <div id="content2" style="display: none;">
            text2
          </div>
        </div>
        <div id="div3">
          <div id="content3" style="display: none;">
            text3
          </div>
        </div>
</body>
</html> 

杰西卡

试试这个:

$(function() {
    var div1 = $("#div1");
    var div2 = $("#div2");
    var div3 = $("#div3");
    $("body").on("click", function (e) {
        if (div1.has(e.target).length || e.target == div1[0])
            return;
        else if (div2.has(e.target).length || e.target == div2[0])
            return;
        else if (div3.has(e.target).length || e.target == div3[0])
            return;
        $('#content1, #content2, #content3').hide();
    });
});
html,body{width:100%;height:100%;}
<div id="div1">
    <div id="content1">
     text1
    </div>
</div>
<div id="div2">
    <div id="content2">
     text2
    </div>
</div>
<div id="div3">
    <div id="content3">
     text3
    </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击时弹出元素并隐藏HTML单击

来自分类Dev

单击img时,将html和body移至顶部

来自分类Dev

单击时隐藏元素隐藏元素

来自分类Dev

单击时添加HTML元素

来自分类Dev

用户单击元素时隐藏元素

来自分类Dev

<html>元素大于<body>

来自分类Dev

单击时使用javascript删除HTML元素

来自分类Dev

单击时使用javascript删除HTML元素

来自分类Dev

单击特定元素时暂停HTML音频

来自分类Dev

隐藏元素时,敲除单击绑定无效

来自分类Dev

在元素外部单击时如何隐藏div

来自分类Dev

使元素可见并在单击时隐藏

来自分类Dev

单击按钮时元素未隐藏

来自分类Dev

AngularJS:单击时隐藏li元素

来自分类Dev

单击复选框时隐藏元素

来自分类Dev

单击按钮时显示/隐藏 div 元素

来自分类Dev

jQuery:单击父元素时,隐藏子元素。单击子元素时,不要隐藏它

来自分类Dev

在输入模糊时隐藏元素(单击元素时除外)

来自分类Dev

HTML中<body>元素的高度

来自分类Dev

html和body元素的高度

来自分类Dev

d3.js在元素外部单击时隐藏元素

来自分类Dev

使用JS单击HTML元素

来自分类Dev

使用 Python 单击 HTML 元素

来自分类Dev

在Angular js中单击时删除HTML元素

来自分类Dev

单击HTML元素时停止AngularJS自动刷新

来自分类Dev

单击时如何切换html元素的文本颜色?

来自分类Dev

使HTML表单元素仅在单击时可见

来自分类Dev

Rails,在单击HTML元素时更改其class属性

来自分类Dev

Ajax表单提交-单击更改HTML元素文本时