在div外部单击时隐藏div

时间:2011-12-29 11:46:30

标签: javascript

请查看此处的代码:http://jsbin.com/esokic/10/edit#source

当我点击客户支持时,会显示div

我想要的是当有人点击div时,div应该隐藏,我尝试了几件事,但他们似乎没有工作..

$(document.body).one("click", function() {$(".cust-support-outer").hide();
});

此外:

$("body").click(function(e){
    if(e.target.className !== "csupport-drop")
    {
      $(".cust-support-outer").hide();
    }       
});

非常感谢任何帮助...

- ARNAB

3 个答案:

答案 0 :(得分:0)

尝试:

var mouse_is_inside = false;

$(document).ready(function()
{
    $('.cust-support-outer').hover(function(){ 
        mouse_is_inside=true; 
    }, function(){ 
        mouse_is_inside=false; 
    });

    $("body").mouseup(function(){ 
        if(! mouse_is_inside) $('.cust-support-outer').hide();
    });
});

答案 1 :(得分:0)

将此绑定到正文

$("body").click(function() {
    if ($(this).attr("class") == "cust-support-outer") {
        // inside
    } else {
        // not inside
    }
});

答案 2 :(得分:0)

ARNAB 我在你的js做了这个改变并且工作了

试试这个,使用这个js代码

  $(function(){
    $(".csupport-drop").click(function(){
    $(".csupport-drop").addClass("active-drop-tab");
    $(".cust-support-outer").show();
      return false
    });

  $(document).bind("click", function(e) {  
    if(!$(e.target).hasClass("get-daily-alerts-outer")){
      $(".get-daily-alerts-outer").hide()
    }
  });

  $(".close").click(function(){$(".get-daily-alerts-outer").hide();
   return false
  });
  $(".get-deal-alerts").click(function(){$(".get-daily-alerts-outer").show();
   return false
  });
});

我刚刚更改了如何将“click”事件绑定到文档并将Event对象传递给函数,以便检查click事件触发的元素。