ybdt1201 2016-07-11 13:09 采纳率: 100%
浏览 1551
已采纳

求助大虾,关于jq点击空白隐藏div的问题

<!DOCTYPE html >
<html >
<head>
    <meta charset="UTF-8">
    <title>点击空白处关闭弹出窗口</title>
    <style type="text/css">
        .pop{width:200px;height:130px;background:#080;}
    </style>
     <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
            $('#btn').click(function() {
                $('#pop').show("slow");//open dialog
            });
            $(document).bind("click",function(e){
                var target  = $(e.target);//表示当前对象,切记,如果没有e这个参数,即表示整个BODY对象
                console.info(target.closest(".pop").length)
                console.info(target.closest("#btn").length)
                if(target.closest(".pop").length == 0 && target.closest("#btn") ==0){
                        $("#pop").hide();
                }
            })
        })
    </script>
</head>
<body>
<button id="btn">打开div</button>
<div id="pop" class="pop" style="display: none"></div>
</body>
</html>

上面是完整的代码,主要想实现,点击按钮显示div,然后点击除按钮和div外的空白,隐藏div,
目前的问题是,可以打开div,但是不能隐藏div,请大虾帮忙看下代码是哪里出问题了;
主要的困惑是target.closest(".pop").length==0为true,target.closest("#btn").length==0为true;为什么target.closest(".pop").length == 0 && target.closest("#btn") ==0就为false了

  • 写回答

2条回答 默认 最新

  • ybdt1201 2016-07-11 13:56
    关注

    if((target.closest(".pop").length == 0) && (target.closest("#btn").length ==0)){
    $("#pop").hide();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog