addEventListener 函数监听哪些事件
时间: 2024-08-09 12:01:12 浏览: 93
JavaScript实现为事件句柄绑定监听函数的方法分析
`addEventListener` 函数是用于在 JavaScript 中监听网页元素或全局窗口事件的一种常用方法。它可以接收三个参数:事件名称、事件处理函数以及一个可选的第三个参数,用来设置事件捕获阶段的行为(仅适用于某些浏览器)。这里列出了 `addEventListener` 可以监听的一些常见事件类型及其用途:
### 一、鼠标事件
1. **`click`**: 当用户单击一个元素时触发。
2. **`dblclick`**: 当用户双击一个元素时触发。
3. **`mousedown`**: 鼠标按键按下时触发。
4. **`mouseup`**: 鼠标按键释放时触发。
5. **`mousemove`**: 鼠标移动时触发。
6. **`mouseover`** 和 **`mouseout`**: 分别表示光标进入和离开元素时触发。
### 二、键盘事件
1. **`keydown`**: 键盘上的键按下时触发。
2. **`keyup`**: 键盘上的键释放时触发。
3. **`keypress`**: 用户在键盘上输入字符时触发(在一些浏览器中,这个事件并不总是比 `keydown` 更快)。
### 三、页面加载及文档事件
1. **`load`**: 页面完全加载完成后触发。
2. **`unload`**: 浏览器窗口正在关闭前触发。
3. **`beforeunload`**: 浏览器窗口即将关闭前触发,允许开发者阻止浏览器的默认行为(例如,阻止页面退出前未保存数据)。
4. **`DOMContentLoaded`**: 当文档结构完全加载并解析完成时触发,但不会等待所有的资源加载完毕(如图片、样式表等)。
5. **`readystatechange`**: XMLHttpRequest 请求的状态发生变化时触发。
6. **`resize`**: 用户调整浏览器窗口大小时触发。
7. **`scroll`**: 当滚动条位置发生改变时触发。
### 四、其他全局事件
1. **`focus`** 和 **`blur`**: 分别表示元素获得焦点和失去焦点时触发。
2. **`contextmenu`**: 用户右键点击元素时触发,通常用于打开上下文菜单。
使用 `addEventListener` 功能强大且灵活,可以根据具体的交互需求为网站或网页应用添加各种动态行为。请注意,为了兼容旧版浏览器,建议在实际项目中结合使用 `removeEventListener` 函数来清除不必要的事件监听器,避免内存泄漏等问题。同时,合理选择合适的事件类型和时机加入监听器,可以提高应用性能并优化用户体验。
阅读全文