知识点:
- 基本概念:DOM 事件的级别
- DOM 事件模型
- DOM 事件流
- 描述 DOM 事件捕获的具体流程
- Event 对象的常见应用
- 自定义事件
1. DOM 事件级别
DOM0 element.onclick = function () {}
DOM2 element.addEventListener('click', function () {}, flase)
DOM3 element.addEventListener('keyup', function() {}, flase) // Dom3级事件与Dom2一样,只是事件的类型增加了更多的键盘事件和鼠标事件。
2. DOM 事件模型
DOM 事件模型分为两类:事件捕获和事件冒泡。
3. DOM事件流
DOM 事件流:就是当用户点击触发了事件是怎样传递到压面上的过程就是事件流,事件流分为捕获、目标阶段、冒泡三个阶段,当用户点击按钮就是捕获阶段,事件通过捕获到达目标元素的时候就是目标阶段,冒泡阶段就是从目标阶段上传到window对象。
4. 描述 DOM 事件捕获的具体流程
window->document->html->body->……->目标元素(获去html标签的方法是document.documentElement;)
5. Event 对象的常见应用
event.preventDefault() //阻止默认事件
event.stopPropagation() //阻止事件冒泡
event.stopImmediatePropagation() //阻止事件冒泡和该元素剩余的其他事件处理函数的执行
event.target // 事件属性可返回事件的目标节点(触发该事件的节点)
6. 自定义事件
var eve = new Event('custome');
ev.addEventListener('custom', function (){
console.log('custome');})
ev.dispatchEvent(eve); // dispatchEvent()就是触发执行