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