mouseover,mouseout问题点

mouseover,mouseout问题点

# 具体遇到的问题

http://img1.sycdn.imooc.com//climg/5fa204a4094e55a005570387.jpg

http://img1.sycdn.imooc.com//climg/5fa204a4093526c705030328.jpg

http://img1.sycdn.imooc.com//climg/5fa2061e0903e96d05320270.jpg

# 报错信息的截图
您好,老师,我想咨询一下上述问题点,当移入one的时候,是会打印出one over ,但是为什么接下来会打印出one out呢?因为蓝色的是two本身two这个div容器是属于one中的,就是onediv里面包含了two  所以哪怕是移入了two当中,其实one over也是成立的呀? 接下来是two over one over 这个可以理解的 然后鼠标移出的时候,会有一个区域是既不属于one 也不属于two? 因为consolelog打印显示了 two out和one out 这个是因为什么原因呢?鼠标所在的位置其实是在one整个div中的呀?
# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<div class="one" style="width: 200px;height: 200px;background-color: red;">

<div class="two" style="width: 100px;height: 100px;background-color: blue;"></div>

</div>

<script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

<script type="text/javascript">

$('.two').mouseover(function(){

console.log('two over');

})

$('.two').mouseout(function(){

console.log('two out');

})

$('.one').mouseover(function(){

console.log('one over');

})

$('.one').mouseout(function(){

console.log('one out');

})

</script>

</body>

</html>

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

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

1回答

同学你好,这个是和事件冒泡有关系的。mouseover,mouseout事件会冒泡。过程如下:

移入过程:

鼠标移入红色盒子,会打印one over,移入蓝色盒子,会先触发红色盒子的移出事件,打印one out,再触发蓝色盒子的移入事件,打印two  over,再触发红色盒子的移入事件,打印one over。

移出过程:

鼠标移出蓝色盒子,打印two out,红色盒子的移出事件也会被触发,打印one out,进入了红色盒子,打印one over,移出红色盒子打印one out。

关于事件冒泡,老师在课程中讲解过,可以再去回顾下,链接:https://class.imooc.com/course/777

祝学习愉快~

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

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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