首页 前端知识 JavaScript---常用的鼠标事件mouseover 和mouseenter的区别

JavaScript---常用的鼠标事件mouseover 和mouseenter的区别

2024-09-06 00:09:48 前端知识 前端哥 888 516 我要收藏

一、 mouseover 和mouseenter的区别

mouseover:  只要鼠标指针移入事件所绑定的元素或其子元素,都会触发该事件
mouseenter: 只有鼠标指针移入事件所绑定的元素时,才会触发该事件

简单来说:

1、mouseover和mouseout会有事件冒泡,也就是说鼠标移入、移出当前元素的子元素或父元素时都会触发该事件。
2、mouseenter和mouseleave 事件不会冒泡,依旧是说鼠标移入、移出时,该元素的子元素或父元素不会触发该事件。

二、事件传播的机制(冒泡和捕获)

事件捕获(event capturing):当鼠标点击或者触发dom事件时,浏览器会从根节点开始由外到内进行事件传播,即点击了子元素,如果父元素通过事件捕获方式注册了对应的事件的话,会先触发父元素绑定的事件。
事件冒泡(dubbed bubbling):与事件捕获恰恰相反,事件冒泡顺序是由内到外进行事件传播,直到根节点

对于addEventListener的说明:

addEventListener("没有on的事件类型","事件处理函数","控制事件阶段") 事件控制阶段中 :

false:冒泡阶段  true:捕获阶段   e.eventPhase 判断事件阶段(冒泡和捕获不能同时出现) 

三、阻止事件的传播

在W3c中,使用stopPropagation()方法
在IE下设置cancelBubble = true;
在捕获的过程中stopPropagation();后,后面的冒泡过程也不会发生了~

转载请注明出处或者链接地址:https://www.qianduange.cn//article/17780.html
标签
评论
发布的文章

关于HTML的知识

2024-09-18 23:09:36

js简单实现轮播图效果

2024-09-18 23:09:36

CSS3美化网页元素

2024-09-18 23:09:27

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!