老师 我有问题!

老师 我有问题!

我在这里的话  那么 mouseenter/mouseleave  和mouseover/mouseout  

是效果相同的 那么我该什么时候用哪一种?总感觉  mouseover  这一块用起来会对内存消耗更多吧 !

正在回答

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

2回答

同学你好,意思就是使用mouseover/mouseout事件会发生事件冒泡,也就说触发子元素的事件,同时会触发父元素上mouseover/mouseout事件,示例:

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

测试结果如下:移入子元素灰色盒子,同时会触发父元素的移入移出事件

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

如果我们不想在移入移出子元素时,触发父元素的同类型事件,那么就可以在子元素事件中阻止事件冒泡。

阻止事件冒泡有两种方法。return false 和e.stopPropagation(). 使用任意一种方式都可以。 示例:

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

此时在移入子元素就不会在再出发父元素的mouseout和mouseover事件了

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

同学可以测试理解下,祝学习愉快~

好帮手慕慕子 2020-03-18 09:51:07

同学你好, 对于你的问题解答如下:

  1. 如果都可以实现效果,那么使用哪一种方法都是可以的,需要注意的一点就是在使用mouseover/mouseout 时存在事件冒泡,记得阻止。

  2. 计算机处理代码程序速度是很快的,对于两个事件的内存消耗可以不用考虑的

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 白羊诗酒纵年华 #1
    老师您说的 需要注意的一点就是在使用mouseover/mouseout 时存在事件冒泡,记得阻止 这一段话我不太理解是什么意思?要怎么阻止呢?
    2020-03-18 12:13:16
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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