首页 > 代码库 > jQuery点击自身以外地方关闭弹出层

jQuery点击自身以外地方关闭弹出层

  1. $(function(){
  2.     $(document).bind("click"function (e{
  3.             if($(e.target).closest("#txt").length>0){
  4.             $("#tip").show();
  5.         }else{
  6.             $("#tip").hide();
  7.         }
  8.     });    
  9. });

closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。

.closest().parents()
从当前元素开始从父元素开始
沿 DOM 树向上遍历,直到找到已应用选择器的一个匹配为止。沿 DOM 树向上遍历,直到文档的根元素为止,将每个祖先元素添加到一个临时的集合;如果应用了选择器,则会基于该选择器对这个集合进行筛选。
返回包含零个或一个元素的 jQuery 对象返回包含零个、一个或多个元素的 jQuery 对象

参考资料:http://www.520ued.com/article/index/arcid/25.html

       http://www.w3school.com.cn/jquery/traversing_closest.asp