
JavaScript焦点、鼠标与滚轮事件详解:DOM事件与实例应用
64KB |
更新于2024-08-30
| 79 浏览量 | 举报
收藏
本文档详细介绍了JavaScript中焦点事件、鼠标事件和滚轮事件的使用。首先,我们来探讨焦点事件。焦点事件是与元素的激活状态相关的事件,通常与`document.hasFocus()`方法和`document.activeElement`属性结合使用。以下是一些关键焦点事件:
1. `blur`:元素失去焦点,此事件不会向上冒泡。
2. `DOMFocusIn`(在DOM3中已弃用,推荐使用`focusin`):元素获得焦点,与HTML的`focus`事件功能相同,但会向上冒泡。
3. `DOMFocusOut`(在DOM3中已弃用,推荐使用`focusout`):元素失去焦点,与HTML的`blur`事件功能相同,也向上冒泡。
4. `focus`:元素获得焦点,不冒泡。
5. `focusin`:获得焦点,与HTML的`focus`事件功能等价,会冒泡。
6. `focusout`:失去焦点,与HTML的`blur`事件功能等价,会冒泡。
示例代码演示了如何在window对象上监听`focus`和`blur`事件:
```javascript
window.onfocus = function() {
console.log('focus'); // 当窗口获得焦点
console.log(document.hasFocus()); // 输出true
};
window.onblur = function() {
console.log('blur'); // 当窗口失去焦点
console.log(document.hasFocus()); // 输出false
};
```
接着,我们来看鼠标的九个主要事件:
- `click`:单击鼠标左键。
- `dblclick`:双击鼠标左键。
- `mousedown`:用户按下任一鼠标按钮,不会由键盘触发。
- `mouseup`:用户释放鼠标按钮,不会由键盘触发。
- `mousemove`:鼠标指针移动,不能由键盘触发。
- `mouseenter`:鼠标进入元素内部,不冒泡,光标移动到子元素时不触发。
- `mouseleave`:鼠标离开元素内部,不冒泡,光标移动到子元素时不触发。
- `mouseover`:鼠标指针移动到元素或其任何后代元素上,会触发。
- `mouseout`:鼠标指针移出元素及其所有后代元素,会触发。
例如,使用`onmouseover`和`onmouseout`在`div`元素上监听鼠标进入和离开:
```javascript
div.onmouseover = function() {
console.log('mouseover'); // 当鼠标移到div上
};
div.onmouseout = function() {
console.log('mouseout'); // 当鼠标离开div
};
```
最后,滚轮事件虽然没有在提供的部分直接提及,但在实际开发中也很常见。JavaScript中的滚轮事件包括`wheel`、`DOMMouseScroll`(仅限Firefox)和`mousewheel`,用于处理滚动操作。每个浏览器可能对这些事件的处理略有不同,但它们都是响应用户滚动鼠标滚轮的行为。
本文档深入解析了JavaScript中焦点事件、鼠标事件的基础知识,并提供了示例代码以帮助开发者更好地理解和运用这些事件处理程序。了解并熟练掌握这些事件对于构建交互性更强的Web应用至关重要。
相关推荐










weixin_38499706
- 粉丝: 3
最新资源
- 批量命令行转换视频为FLV及视频托管解决方案
- JAVA英汉互译词典程序:电子学习助手
- HTML网页配色工具:3种颜色代码快速应用
- 经典网页模板汇总:100个设计精选
- 计算机基础知识深度解析:从XML到EXCEL
- 初学者必看:ARM学习资料大全
- C语言程序设计初学者PPT讲义
- 解决文件夹同名病毒:DelrepaerCNGR专杀工具体验
- 最新艺术展示FLASH模板下载
- Flex中使用ArcGIS API的教程与例子
- 宾馆管理系统源码分享:C#与VS2005的经典结合
- 五笔输入法86版:经典、高效、系统内置稳定
- C#实现的完善版.Net计算器软件
- VFP课件分享:数据库系统及应用教程
- JSP学生信息管理系统课程设计参考
- 对日开发设计模板 - 项目开发文档的核心工具
- 企业人事管理系统课程设计开发
- PcMedik绿色免注册版优化电脑指南
- 源码公开的网上书店系统设计与分析
- Outocopy:自动化U盘文件拷贝软件
- 深入解析完整开发文档的构建与应用
- C# socket编程实例分享与应用案例
- 俄罗斯方块游戏Java程序及API包使用指南
- Songdown 2.0:Linux平台的自动化歌曲下载器升级版