[TOC]

01、事件基础

1.1、事件简介

事件Event)是JS的心脏,触发各种交互,让网页动起来。事件是浏览器网页可以监测到的行为,如页面加载、鼠标点击、键盘按键等。在这些事件中可以自定义事件处理程序,用于实现各种业务需求。
JS事件详细入门 - 图1
事件对象的继承关系:
JS事件详细入门 - 图2
常见的事件类型、事件如下:

鼠标事件(event)
click(event) 点击触发,通常是鼠标左键在一个元素上被按下并放开时
dblclick 双击触发事件
contextmenu 鼠标右键点击触发
mousedownmouseup 鼠标按下、弹起时触发
mousemove 鼠标在元素上移动时触发
onmouseovermouseout 鼠标移入、移出元素区域时触发
mouseenter、mouseleave 鼠标移入、移出元素区域时触发,与上面不同的是不会冒泡
dragstart、dragend 拖放事件(drag/dræɡ/拖)
键盘事件(event)
keydown、keyup 键盘按键按下、松开时触发
表单事件(event)
blur(event)、focusout() 元素失去焦点,blur不会冒泡 (blue /blɜːr/ 模糊 /不乐/)
focus、focusin 元素获取焦点时触发,focus不会冒泡
from.submit 提交表单form时触发,可用于表单校验
change 值发生变化时触发,文本框是在值变化且失去焦点是才触发
input 输入值改变时触发。event.preventDefault()无法阻止,因为已经改变了
Document 事件(event) 文档生命周期:DOMContentLoaded ➡️ load ➡️ beforeunload ➡️ unload
doc.DOMContentLoaded 已加载 HTML并构建好DOM树,外部资源(image、css)可能尚未加载完成
- 如果遇到