点击div外的jquery关闭div

时间:2012-10-09 11:16:58

标签: javascript jquery html

实际上我得到的是:http://jsfiddle.net/y9uwY/7/

我想要的是什么:

  1. 如果用户点击黑色区域则不会发生
  2. 点击黑色区域外必须关闭

3 个答案:

答案 0 :(得分:1)

尝试这个小提琴,您的body标记只会是主.select_roles元素的大小,因此将宽度和高度设置为100%会为您提供隐藏的可点击区域(此工作原理)在msot浏览器中,为了允许更多,可能值得添加一些填充)。这只是将.select_roles设置为display:none;,但从.active类开始,一旦您点击我们删除display:block;类的区域之外的.active

小提琴:http://jsfiddle.net/y9uwY/3/

答案 1 :(得分:1)

现在试试小提琴 http://jsfiddle.net/y9uwY/9/

$('.select_roles').click(function (e){
    e.stopPropagation();
                 if($(this).hasClass('active')){
                 }
                 });

            $('body').click(function (){
                 if($('.select_roles').hasClass('active')){
                     $('.select_roles').removeClass('active');
                 }
            });

答案 2 :(得分:0)

你必须阻止事件冒泡到身体。以下是更正后的代码http://jsfiddle.net/y9uwY/8/

供参考和进一步阅读:What is event bubbling and capturing?