JQuery:除指定区域外点击任何地方隐藏DIV

没事玩玩 Google nav 中个人通知功能的效果,点击通知后展现浮层,点击其他区域任何地方隐藏浮层,样式上的东西都好说,展现和隐藏是如何做到的呢?还是google一下,找到stackoverflow的大婶们给的解决方案。

$('body').click(function(e) {
    var target = $(e.target);
    // 如果#overlay或者#btn下面还有子元素,可使用
    // !target.is('#btn *') && !target.is('#overlay *')
    if(!target.is('#btn') && !target.is('#overlay')) {
       if ( $('#overlay').is(':visible') ) $('#overlay').hide();
    }
});

或者

$('body').click(function(e) {
   if(e.target.id != 'btn' && e.target.id != 'overlay')
      if ( $('#overlay').is(':visible') ) $('#overlay').hide();
})

继续阅读