办法一:
第一,先实现点击任何地方都隐藏该元素(假设id="bar")
$(document).click(function(){
$("#bar").hide();
});
第二,点击特定元素不隐藏
那么bar也属于document,点击bar也会让自己隐藏,显然这不是想要的,这时候要阻止冒泡事件,即document的事件对bar无效
$("#bar").click(function(event){
event.stopPropagation();
});
办法二:
$(document).click(function(e){
if ($(e.target).find('.select_box').length !== 0 ){ // 如果 你点击的这个元素 里面包含 select_box (也就是查找出来的dom 数量不是0) // 就执行你需要隐藏的方法 当你点击的元素是select_box 或者他里面的元素 时候, // 里面肯定不会 包含 select_box 也就不会执行 隐藏的方法 if($(".option").css('display')=='block'){ $(".option").hide(); } } });