DOM和事件对象
- 事件冒泡:事件由目标元素逐渐向上传递到document
- 事件捕获:事件有document逐渐向下传递逐渐追溯到目标元素
Event事件对象的通用属性
| 名称 | 说明 | 返回值 |
|---|---|---|
| type | 事件名称 | 字符串(如mouseover) |
| target | 事件指向的目标元素 | HTMLElement |
| currentTarget | 带有当前被触发事件监听器的元素 | HTMLElement |
| eventPhase | 事件生命周期阶段 | 数值 |
| bubbles | 如果事件可以在文档中冒泡返回true,否则返回false | boolean |
| cancelable | 如果事件有可以撤销的默认行为返回true,否则返回false | boolean |
| timeStamp | 事件创建的时间,时间不可用就返回0 | 字符串 |
| stopPropagation() | 在当前事件监听器触发后,阻止其在元素中的流动,包括冒泡和捕获 | void |
| stopImmediatePropagation() | 立即终止事件在在元素中的流动,当前元素上未被触发的事件监听器会被忽略 | void |
| preventDefault() | 阻止浏览器执行与事件关联的默认操作 | void |
| defaultPrevented | 如果调用了preventDefault()返回true | boolean |
eventPhase值
| 名称 | 说明 |
|---|---|
| Event.CAPTURING_PHASE | 捕获阶段 |
| Event.AT_TARGET | 目标阶段 |
| Event.BUBBLING_PHASE | 冒泡阶段 |
Document对象事件
| 名称 | 说明 |
|---|---|
| readystatechange | 在readystate属性发生变化时触发 |
window事件对象
| 名称 | 说明 |
|---|---|
| onabort | 在文档或者资源加载过程被终止时触发 |
| onbeforeprint | 在用户调用window.print()方法,但尚未给用户提供打印时触发 |
| onafterprint | 在用户完成打印之后触发 |
| onerror | 在文档或者资源加载发生错误时触发 |
| onhashchange | 在锚部分发生变化时触发 |
| onload | 在文档或者资源加载完成时触发 |
| onpopstate | 触发后提供一个关联浏览器的状态对象 |
| onresize | 在窗口缩放时触发 |
| onunload | 在文档从或者浏览器中卸载时触发 |
鼠标事件
| 名称 | 说明 |
|---|---|
| click | 点击鼠标并释放鼠标键时触发 |
| dblclick | 在两次点击并释放鼠标键时触发 |
| mousedown | 在鼠标左键按下时触发 |
| mouseenter | 在光标移入元素或者其后代元素区域时触发 |
| mouseleave | 在光标移出元素及所有后代元素区域时触发 |
| mousemove | 在光标在元素上移动时触发 |
| mouseout | 指针移出元素,或者移到它的子元素上 |
| mouserover | 指针移到有事件监听的元素或者它的子元素内 |
| mouseup | 释放鼠标时触发 |
事件特有属性
| 名称 | 说明 | 返回值 |
|---|---|---|
| button | 点击的键,0左(主)键,1中键,2右(次)键 | 数值 |
| altkey | 是否按下alt/option键 | boolean |
| clientX | 相对于目标元素的x轴坐标 | number |
| clientY | 相对于目标元素的y轴坐标 | number |
| screenX | 相对于窗口的x轴坐标 | number |
| screenY | 相对于窗口的y轴坐标 | number |
| shiftkey | 是否按下shift键 | boolean |
| ctrlkey | 是否按下ctrl键 | boolean |
键盘焦点事件
| 名称 | 说明 |
|---|---|
| blur | 失去焦点 |
| focus | 获得焦点 |
| focusin | 即将获得焦点 |
| focusout | 即将失去焦点 |
键盘事件
| 名称 | 说明 |
|---|---|
| keydown | 按键被按下时 |
| keypress | 按键被按下并被释放时 |
| keyup | 按键被释放时 |
事件特有属性
| 名称 | 说明 | 返回值 |
|---|---|---|
| char | 按键代表的字符 | 字符串 |
| key | 所按的键 | 字符串 |
| altkey | 是否按下alt/option键 | boolean |
| shiftkey | 是否按下shift键 | boolean |
| ctrlkey | 是否按下ctrl键 | boolean |
| repeat | 该建是否一直处于被按下的状态 | boolean |