onmouseenter和onmouseover

onmouseenter和onmouseover

https://img1.sycdn.imooc.com//climg/63283596096ec3db10670678.jpg

老师,onmouseenter和onmouseover,onmouseleave和onmouseout 她们有什么区别呢

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好, 区别就是onmouseover和onmouseout存在事件冒泡,而onmouseenter和onmouseleve不只是事件冒泡,可以自己书写代码测试下,下面以鼠标移入事件为例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
div {
width: 200px;
height: 100px;
border: 1px solid #000;
margin: 50px;
float: left;
padding: 50px;
text-align: center;
color:#fff;
background-color: pink;
}

p {
background-color: green;
}
</style>

<div id="box1">
<p>onmouseenter: <br> <span id="enter">0</span></p>
</div>

<div id="box2">
<p>onmouseover: <br> <span id="over">0</span></p>
</div>

<script>
var x = 0;
var y = 0;
document.getElementById('box1').onmouseenter=function(){
document.getElementById("enter").innerHTML = ++x;
}
document.getElementById('box2').onmouseover=function(){
document.getElementById("over").innerHTML = ++y;
}
</script>
</body>
</html>

当把鼠标放到span处,onmouseenter下面的数字不会加1,而onmouseover会,可见onmouseover支持事件冒泡,在移入span元素时,事件会向上冒泡触发div元素绑定的鼠标移入事件。

有关事件冒泡,在后面的课程中也会有介绍,这里先了解下,等学到了再返回来回顾下,会更加容易理解。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师