鼠标事件方法的区别
方法 | 相同点 | 不同点 |
---|---|---|
.mouseover() | 鼠标进入被选元素时触发 | 鼠标在其备选元素的子元素上来回进入时触发mouseover(),不触发mouseenter |
.mouseenter() | 同上 | 同上 |
.mouseout() | 鼠标离开备选元素时触发 | 鼠标在其备选元素的子元素上来回离开时触发mouseout(),不触发mouseleave |
.mouseleave() | 同上 | 同上 |
.mouseover()和 .mouseout()的效果
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>当当图书导航2</title>
<style>
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
.out{
width: 400px;
height: 400px;
background: #0D7114;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
}
.inner{
width: 150px;
height: 150px;
background: #00D0FF;
}
</style>
</head>
<body>
<div class="out">
<span></span>
<div class="inner"></div>
</div>
<script src="js/jquery-1.12.4.js"></script>
<script type="text/javascript">
var c = 0;
var d = 0;
$(function (){
$(".out").mouseover(function () {
$("span").text(++c);
}).mouseout(function (){
$("span").text(++d);
})
})
</script>
</body>
</html>
.mouseenter() 和 .mouseleave()的效果
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>当当图书导航1</title>
<style>
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
.out{
width: 400px;
height: 400px;
background: #0D7114;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
}
.inner{
width: 150px;
height: 150px;
background: #00D0FF;
}
</style>
</head>
<body>
<div class="out">
<span></span>
<div class="inner"></div>
</div>
<script src="js/jquery-1.12.4.js"></script>
<script type="text/javascript">
var c = 0;
var d = 0;
$(function (){
$(".out").mouseenter(function () {
$("span").text(++c);
}).mouseleave(function (){
$("span").text(++d);
})
})
</script>
</body>
</html>
图解:
效果区别的GIF图
mouseover()和 .mouseout()的效果:
可以看出,不管触碰out 还是 inner 都会增加他的次数
.mouseenter() 和 .mouseleave()的效果
而这个只有触碰 out 才能增加次数