jquery点击非div区域隐藏div

点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre)。点击圆头像以外的区域隐藏白色底框

 

html代码

<div class="per_c">
<div class="person-msg pull-right">
<img src="../../res/images/snow_man.jpg">
</div>
<dl class="person-centre" style="display: none;">
<dt>你好!大雪人</dt>
<dd><a href="#">账号安全</a></dd>
<dd><a href="#">修改资料</a></dd>
<dd><a href="#">我的头像</a></dd>
<dd><a href="#">我的申请</a></dd>
<dd><a href="#">账号退出</a></dd>
</dl>
</div>

 

jquery方法

/*点击头像个人信息*/
$(".person-msg").click(function () {
$(".person-centre").toggle();
});
$(document).bind("click",function (e) {
var target=$(e.target);
if(target.closest(".person-msg").length==0){
$(".person-centre").hide();
console.log("111")
}
});

 closest()从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。

target 属性规定哪个 DOM 元素触发了该事件。

target.closest(".person-msg"):遍历".person-msg"触发事件

if(target.closest(".person-msg").length==0):判断条件为(如果遍历后发现".person-msg"没有触发click事件)

可以查看w3c,了解这两个方法的使用。

后续有更新再慢慢补充

更6的方法移步:http://bbs.blueidea.com/thread-3043426-1-1.html

之前打算使用监听来写,但是有兼容问题而且不够了解。

遍历的方法:http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

注意区分e.target与e.currentTarget的作用

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几种常用的函数

range()函数: range(起始位置,终止位置,步长)  next()函数: __next__是迭代器方法变量.__next__() 带双下火线的魔术发那个方法 一般情况下不直接使用next(变量)带双下划线的所有方法都可能和内置函数有千丝万缕的联系iter()函数: 可迭代的迭代器 可迭代的.__iter__()迭代器…

java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串

我目前正在使用以下连接字符串连接到数据库(该数据库与ServerIP在同一服务器上)&#xff1a;String constr "Data SourceServerIP,1433;Network LibraryDBMSSOCN;InitialCatalogdbName;User IDdbUserID;PassworddbUserPassword";在asp.net中使用时&#xff0c;此连接…

上传图片或文件 方法一

最近在巩固一些知识点&#xff0c;回过头看之前做过的项目&#xff0c;所以就在这里总结一下 话不多说&#xff0c;直接看源码 前端 publish-menu.jsp 1 <form action"PublishMenu" method"post" enctype"multipart/form-data" > 2 3 …

如何在Ubuntu上轻松安装Oracle Java

Ubuntu上的开发人员习惯于至少看到两种Java风格。 OpenJDK是Java运行时和编译器的开源构建。 Oracle JDK以此为基础&#xff0c;但是增加了一些封闭源组件。 从理论上讲&#xff0c;OpenJDK是Java 7的官方参考实现 &#xff0c;并且完全可以满足您的所有需求。 在实践中&#…

今天发现新大陆:haml和Emmet

其实一开始小渣渣我只是想接触一下&#xff08;css预处理器&#xff09;sass&#xff0c;可是突然冒出一个haml。 原文是酱紫的。 Sass 是采用 Ruby 语言编写的一款 CSS 预处理语言&#xff0c;它诞生于2007年&#xff0c;是最大的成熟的 CSS 预处理语言。最初它是为了配合 H…

Docker系列(五):.Net Core实现k8s健康探测机制

k8s通过liveness来探测微服务的存活性&#xff0c;判断什么时候该重启容器实现自愈。比如访问 Web 服务器时显示 500 内部错误&#xff0c;可能是系统超载&#xff0c;也可能是资源死锁&#xff0c;此时 httpd 进程并没有异常退出&#xff0c;在这种情况下重启容器可能是最直接…

编写java程序计算梯形面积_学习练习 java面向对象梯形面积

package com.hanqi;public class Ladder {double ShangDi;double XiaDi;double Gao;double MianJi;Ladder(double ShangDi, double XiaDi, double Gao){//使用参数来初始化属性//this 代表当前类this.ShangDi ShangDi;this.XiaDi XiaDi;this.Gao Gao;}//方法的命名&#xff…

02-再探MySQL数据库

一、数据类型 1、数值类型 a、整数类型 整数类型&#xff1a;TINYINT SMALLINT MEDIUMINT INT BIGINT 作用&#xff1a;存储年龄&#xff0c;等级&#xff0c;id&#xff0c;各种号码等。 tinyint[(m)] [unsigned] [zerofill]小整数&#xff0c;数据类型用于保存一些范围的整数…

如何在WebLogic Server中创建MySQL数据源

使用应用程序服务器的一个很酷的事情是&#xff0c;它允许您在应用程序外部创建DataSource&#xff0c;并且可以与线程池和事务管理器等一起管理它。对于WebLogic Server&#xff0c;它附带了许多内置的JDBC驱动程序&#xff0c;例如Oracle数据库和MySQL等随时可用。 在这里&am…

js原生带缩略图的图片切换效果

js原生带缩略图的图片切换效果 本例中用到的 moveElement(elementID,final_x,final_y,interval)是来自《JavaScript DOM编程艺术&#xff08;中文第二版&#xff09;》一书第10章中有一段代码。&#xff08;可以直接baidu&#xff09; 左边是banner图&#xff0c;右边是缩略图…

linux 基础10-磁盘配额管理

1. 基本概念 1.1 概念&#xff1a; 在linux系统中&#xff0c;由于是多人多任务的使用环境&#xff0c;所以会有多人共同使用一个硬盘空间的情况&#xff0c;如果其中少数几个人大量使用了硬盘空间的话&#xff0c;势必会压缩其他使用者的使用空间&#xff0c;因此管理员应该适…

java 全半角转换_Java 全半角转换

* 全角转半角的 转换函数* return String*/public static final String full2HalfChange(String QJstr){StringBuffer outStrBuf new StringBuffer("");String Tstr "";byte[] b null;for (int i 0; i < QJstr.length(); i) {Tstr QJstr.substring…

第九章:内存管理

内存管理 引用计数&#xff1a;垃圾回收机制的依据 a.变量的值被引用&#xff0c;该值的引用计数 1b.变量的值被解绑&#xff0c;该值的引用计数 -1c.引用计数为0时就会被垃圾回收机制回收​ 引用计数会出现循环引用问题&#xff1a;相互引用无法释放 a.两个变量引用其值&#…

Centos系统通过tar.gz包安装MySQL5.7

环境准备&#xff1a; 操作系统&#xff1a; http://vault.centos.org/6.5/isos/x86_64/ 下载 CentOS-6.5-x86_64-bin-DVD1.iso vmware workstation下安装系统 MySQL安装包连接地址&#xff1a; https://downloads.mysql.com/archives/community/ 下载 mysql-5…

java web转码_javaweb后台转码

为什么需要转码?客户端向服务器发送请求的四种情况:1、URL方式直接访问;2、页面链接(属于get请求);3、表单get提交;4、表单post提交1.url(url和页面链接):各大浏览器、各个操作系统对URL的URI、QueryString编码都可能存在不同.tomcat对URI的解码操作是首先获取Connector的解码…

微信小程序实战篇:商品属性联动选择(案例)

本期的微信小程序实战篇来做一个电商网站经常用到的-商品属性联动选择的效果&#xff0c;素材参考了一点点奶茶。 效果演示&#xff1a; 商品属性联动.gif代码示例 1、commodity.xml <!-- <view class"title">属性值联动选择</view> --> <!--…

使用Mockito在Java中进行模拟入门

我们都编写了单元测试&#xff0c;但是有时我们面临的挑战是被测单元可能依赖于其他组件。 并且配置其他组件进行单元测试绝对是一个过大的选择。 相反&#xff0c;我们可以使用Mocks代替其他组件&#xff0c;并继续进行单元测试。 为了说明如何使用模拟&#xff0c;我有一个数…

2.12 Hivet中order by,sort by、distribute by和cluster by

https://cwiki.apache.org/confluence/display/Hive/LanguageManualSortBy一、order by对全局数据的排序&#xff0c;仅仅只有一个reduce&#xff1b;Hive中的order by跟传统的sql语言中的order by作用是一样的&#xff0c;会对查询的结果做一次全局排序&#xff0c; 所以说&am…

如何相互转换逗号分隔的字符串和List【转】

将逗号分隔的字符串转换为List 方法 1&#xff1a; 利用JDK的Arrays类 String str "a,b,c"; List<String> result Arrays.asList(str.split(",")); 方法 2&#xff1a; 利用Guava的Splitter String str "a, b, c"; List<String&g…

禁用F12和鼠标右键,防止查看控制台代码

虽然是个治标不治本的办法&#xff0c;还是挺有用的 在禁用同时&#xff0c;自身的代码健壮性也需要加强 // 屏蔽F12document.onkeydown function () {//f12键if (window.event && window.event.keyCode 123) {event.keyCode 0;event.returnValue false;}// enter…