点击空白处隐藏指定元素

html部分

<div class="content">
    <p id="one">模块一</p>
    <p>模块二</p>
    <p>模块三</p>
    <p>模块四</p>
</div>
<div id="module" data-show="true">
    <ul>
        <li>子模块一</li>
        <li>子模块二</li>
        <li>子模块三</li>
    </ul>
</div>

加点简单的样式

.content p{
    width:100px;
    display: inline-block;
    text-align: center;
}

js部分

$("#module").hide();
$("#one").click(function(){
    var showFlag=$("#module").attr("data-show");
    if(showFlag=='true'){
        $("#module").show();
        $("#module").attr("data-show","false");
    }else{
        $("#module").hide();
        $("#module").attr("data-show","true");
    }
})
$(document).bind("click",function(e){
    var target  = $(e.target);    //e.target获取触发事件的元素
    //从触发事件的元素向上找父元素  判断点击的部分是否是父元素或者本身  如果长度为0 说明点击的是空白不相关部分
    if(target.closest("#module,#one").length == 0){
        $("#module").hide();
        $("#module").attr("data-show","true");
    };
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,809评论 1 92
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,337评论 0 3
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,080评论 0 0
  • 那些遗憾,一辈子都会触动心底,无论何时,寒来暑往,以后不知该怎样去面对,再老成的心肺总会被打动,我已经成年了,祝好。
    王阳光啊阅读 199评论 0 0