mouseover和mouseenter两个事件的区别
mouseover(鼠标覆盖)
mouseenter(鼠标进入)
二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素影响到,在触发子元素的时候,mouseover会冒泡触发它的父元素.(想要阻止mouseover的冒泡事件就用mouseenter)
共同点:当二者都没有子元素时,二者的行为是一致的,但是二者内部都包含子元素时,行为就不同了.
贴出代码:
-
<!DOCTYPE html>
-
<html>
-
-
<head>
-
<meta charset="UTF-8">
-
<title></title>
-
<script type="text/javascript" src="js/jquery.min.js"></script>
-
<style>
-
.div1,
-
.div2,
-
.div3,
-
.div4 {
-
width: 200px;
-
height: 200px;
-
}
-
-
.div1 {
-
background: darkcyan;
-
}
-
-
.div2 {
-
background: violet;
-
}
-
-
.div3 {
-
background: darkgray;
-
}
-
-
.div4 {
-
background: darkgreen;
-
}
-
-
p {
-
width: 110px;
-
height: 100px;
-
background: aquamarine;
-
margin: 0 auto;
-
}
-
</style>
-
<script>
-
x = 0;
-
y = 0;
-
z = 0;
-
w = 0;
-
-
$(function() {
-
$(".div1").on("mouseenter", function() {
-
$("#s1").text(x += 1)
-
})
-
$(".div2").on("mouseover", function() {
-
$("#s2").text(y += 1)
-
})
-
$(".div2").on("mouseover", function() {
-
$("#s2").text(y += 1)
-
})
-
$(".div3").on("mouseenter", function() {
-
$("#s3").text(z += 1)
-
})
-
$(".div4").on("mouseover", function() {
-
-
$("#s4").text(w += 1)
-
})
-
})
-
</script>
-
</head>
-
-
<body>
-
<div class="div1">
-
div1没有子元素(mouseenter)
-
</div>
-
<span id="s1"></span>
-
<div class="div2">
-
div2没有子元素(mouseover)
-
</div>
-
<span id="s2"></span>
-
<div class="div3">
-
<p id="p1"> div3有子元素p(mouseenter)</p>
-
</div>
-
<span id="s3"></span>
-
<div class="div4">
-
<p id="p2">div4有子元素p(mouseover)</p>
-
</div>
-
<span id="s4"></span>
-
</body>
-
-
</html>
先测试一下div1和div2都是没有子元素的情况,看下面动图
可以看到当div没有子元素的时候,两者在鼠标覆盖或者进入的时候行为一样.
接下来看一下有子元素的div3和div4,如下动图
可以看到在有子元素的div3在mouseenter也不会触发div3
但是div4就会被在它的子元素被覆盖的时候被触发了,也就是产生了冒泡
最后注意:mouseenter就是在想要阻止冒泡事件发生的时候使用
把代码复制复制粘贴下来自己测试一下就明白了,不过注意: jquery需要的包你需要引入,不然是没有效果的.
代码下载链接: 代码链接
原文:https://blog.csdn.net/lplife/article/details/80436623
mouseover和mouseenter两个事件的区别的更多相关文章
- jQuery-使用hover(fn,fn)函数监听mouseover和mouseout两个事件
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout ...
- 曾经跳过的坑----jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- jQuery里的mouseover与mouseenter事件类型区别
JQ里面有mouseover和mouseenter 2个事件类型干着差不多的活,用不好经常出现些小问题. 今天我解释一下原理: 事件类型翻译: mouseover 鼠标移上 mouseenter 鼠 ...
- mouseover和mouseenter的区别
mouseover和mouseenter都是鼠标事件. mouseover事件,当鼠标穿过被选元素的时候,若此元素有子元素,子元素也会被触发此事件.即是使用mouseover事件,会多次触发此元素. ...
- 事件处理& 事件委托& 区别mouseover与mouseenter
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
轮播中大多会选择mouseover和mouseout 这个时候是没有任何问题的 但当遇到有css3动画的时候,会发现移入移出过快 动画还没加载完成就需要执行下一个动画,完了动画样式就错乱了. 这时候 ...
- 一个例子说明mouseover事件与mouseenter事件的区别
<html> <head> <meta charset="UTF-8"> <title>haha</title> < ...
随机推荐
- JS实现统一社会信用代码的效验(组织机构代码效验)
参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...
- vue---父子组件之间的通信【props,$refs、$emit】
在用vue进行项目开发的时候,父子组件之间的通信是经常被用到的,下面就来具体说说父子组件通信的三种方式: 父组件: <template> <div> <h1>我是父 ...
- android 8.1 wifi提示"已连接 但无法访问互联网"的解决办法
主要是GFW的问题 adb shell以下命令解决 settings put settings put settings put settings put global captive_portal_ ...
- centos6.10环境下启动多个redis实例
# 启动redis端口6379的配置 [root@newcms:/usr/local/nginx/conf]# /etc/redis.conf daemonize yes pidfile /usr/l ...
- Qt开发经验小技巧51-60
在某些http post数据的时候,如果采用的是&字符串连接的数据发送,中文解析乱码的话,需要将中文进行URL转码. QString content = "测试中文"; Q ...
- 怎样在sql server profiler跟踪时只显示自己关心的内容
当我们想知道.net程序到底执行了哪些SQL的时候,通常会使用sql server profiler,但是如果不加设置,我们程序执行的sql通常会被系统的SQL淹没,通过以下的方法,可以只显示我们需要 ...
- VUE 同一页面路由参数变化,视图不刷新的解决方案
1.监听路由处理 watch: { $route(to, from) { // 逻辑 // 重新调用数据接口 } }, 2.beforeRouteUpdate导航守卫 路由更新时触发 beforeRo ...
- linux内存管理swap分区
一.什么是linux的内存机制? 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念. 物 ...
- netty的reactor模式
reactor中包含5个核心结构,那么从操作系统低层次的调度来看5部分是这样的. (1)Handle(句柄资源描述符)本质是对客户端连接上来以后发生事件的处理机制,比如连接成功,读取数据,发送数据等状 ...
- 029 SSM综合练习05--数据后台管理系统--订单分页查询
1.PageHelper介绍 PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql.oracle.mariaDB.DB2.SQLite.H ...