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 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)