mouseenter、mouseleave与mouseover、mouseout都是处理鼠标的移入移出事件
二者的本质区别在于,mouseenter、mouseleave不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover、mouseout就会被它的子元素影响到,在触发子元素的时候,mouseover、mouseout会冒泡触发它的父元素 (想要阻止mouseover、mouseout的冒泡事件就用mouseenter、mouseleave)
共同点:当二者都没有子元素时,二者的行为是一致的,但是二者内部都包含子元素时,行为就不同了
如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#father {
width: 200px;
height: 200px;
background-color: red;
display: flex;
justify-content: center;
align-items: center;
margin: 50px auto;
}
#son {
width: 100px;
height: 100px;
background-color: yellow;
}
</style>
<body>
<div id="father">
<div id="son