JavaScript事件学习小结(五)js中事件类型之鼠标事
JavaScript事件学习小结(五)——鼠标事件的
在JavaScript的世界中,事件是交互的基石。而在众多事件中,鼠标事件无疑是最为常见和重要的类型之一。本文将带你深入了解鼠标事件的各个方面,为你提供一份具有参考价值的资料。
一、鼠标事件概览
DOM3级事件规范定义了九种鼠标事件,每一种都有其独特的用途和触发时机。这些事件包括:
1. mousedown:当鼠标按钮被按下(无论是左键还是右键)时触发。值得注意的是,此事件无法通过键盘触发。
2. mouseup:当鼠标按钮被释放时触发。同样,也无法通过键盘触发。
3. click:当单击鼠标左键或按下回车键时触发。这对于确保网站的易访问性至关重要,因为click事件处理程序既可以通过鼠标触发,也可以通过键盘触发。
4. dblclick:当双击鼠标左键时触发。
5. mouseover:鼠标移入目标元素上方时触发。如果鼠标移到元素的子元素上,也会触发此事件。
6. mouseout:鼠标离开目标元素上方时触发。
7. mouseenter:鼠标进入元素范围时触发,这个事件不会冒泡,也就是说,如果鼠标移动到元素的子元素上,不会触发mouseenter事件。
8. mouseleave:鼠标离开元素范围时触发,同样,这个事件也不会冒泡。
9. mousemove:鼠标在元素内部移动时持续触发。
二、事件触发的顺序
在实际应用中,我们可能会关心在特定操作(如双击按钮)下,这些事件触发的顺序。以下是一个简单的示例,通过双击一个按钮来观察事件的触发顺序:
HTML部分:
```html
var btn = document.getElementById("btn");
btn.addEventListener("mousedown", function(event){console.log("mousedown");}, false);
btn.addEventListener("mouseup", function(){console.log("mouseup");}, false);
btn.addEventListener("click", function () {console.log("click");}, false);
btn.addEventListener("dblclick", function () {console.log("dblclick");}, false);
```
在这个例子中,当你双击按钮时,会依次触发mousedown、mouseup、click和dblclick事件。需要注意的是,click事件是在mousedown和mouseup事件都触发之后才会触发的,而dblclick事件则是在两次click事件相继触发后才会触发。如果取消了mousedown或mouseup中的任何一个,click事件就不会被触发。同样,如果直接或间接取消了click事件,dblclick事件也不会被触发。
三、mouseenter和mouseover的区别
对于许多开发者来说,理解mouseenter和mouseover的区别是非常重要的。简单来说,mouseover事件会冒泡,也就是说,如果你将鼠标从一个元素的子元素上移开,也会触发该元素的mouseover事件。而mouseenter事件则不会冒泡,即使鼠标从子元素上移开,也不会触发该元素的mouseenter事件。
outerCircle {
position: absolute;
width: 200px;
height: 200px;
top: 0; /添加top属性定位/
left: 0; /添加left属性定位/
bottom: 0; /添加bottom属性定位/
right: 0; /添加right属性定位/
margin: auto; /自动居中/
background-color: pink; /背景色为粉色/
border-radius: 50%; /边框半径为半圆形/ /添加边框半径属性/
}
innerCircle {
position: absolute; /绝对定位/
width: 100px; /内圆宽度/
height: 100px; /内圆高度/
top: 50%; /内圆垂直居中/ /添加top属性定位/
left: 50%; /内圆水平居中/ /添加left属性定位/
margin-left: -50px; /左边距调整实现居中效果/ /添加margin-left属性调整/
margin-top: -50px; /上边距调整实现居中效果/ /添加margin-top属性调整/ /修正了语法错误/
background-color: orange; /背景色为橙色/ /修正了语法错误/ /背景色修正语法错误后的解释/ /背景色为橙色注释调整位置,避免混乱解释其他内容/
text-align: center; /文本居中对齐/ /修正了语法错误后添加的文本对齐注释,便于理解内容/ /文字居中解释,使文章逻辑清晰/
line-height: 100px; /行高设置,使文字垂直居中对齐于内圆内部空间/ /添加了行高设置注释,便于理解内容目的和逻辑结构清晰化/ /行高设置解释,有助于读者理解布局原理/
}
编程语言
- JavaScript事件学习小结(五)js中事件类型之鼠标事
- asp.net core下给网站做安全设置的方法详解
- mysql 创建root用户和普通用户及修改删除功能
- SQL Server数据库定时自动备份
- jQuery模仿阿里云购买服务器选择购买时间长度的
- ajax异步加载图片实例分析
- js自定义回调函数
- Node.js+ELK日志规范的实现
- 探究JavaScript函数式编程的乐趣
- vue+springboot前后端分离实现单点登录跨域问题解决
- PHP基于迭代实现文件夹复制、删除、查看大小等
- jQuery实现宽屏图片轮播实例教程
- jquery单击文字或图片内容放大并居中显示
- Jquery实现瀑布流布局(备有详细注释)
- 基于Token的身份验证之JWT基础教程
- Asp.Net Core对接钉钉群机器人的完整步骤记录