$(document).click(function(e){
if (!$(e.target).is('所点击的元素')){
var e = e || window.event;
var elem = e.target || e.srcElement;
while (elem) {
if (elem.className && elem.className === '要显示的元素') {
return;
}
elem = elem.parentNode;
}
$('要显示的元素').css('display','none');
}
});
1、首先是为document绑定click事件,里面的判断是排除所点击的元素;
2、e.target 或 e.srcElement是为了获取触发事件的原始元素,也就是所点击的元素,这里做了个循环是为了防止点击到要显示元素的子元素,这样整个要显示的元素点击后通过直接return,则都不会隐藏。