一种jQuery实现区域外点击事件的方法

在写弹出菜单插件时,需要实现点击弹出菜单以外的区域时关闭菜单的功能。 发现了一种比较简单地实现这一事件的方法。

$(document).mouseup(function(e){
 var _con = $(' 目标区域 '); // 设置目标区域
 if(!_con.is(e.target) && _con.has(e.target).length === 0){ // Mark 1
 some code... // 功能代码
 }
});
/* Mark 1 的原理:
判断点击事件发生在区域外的条件是:
1. 点击事件的对象不是目标区域本身
2. 事件对象同时也不是目标区域的子元素
*/